<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      CentOS7 httpd搭建配置Apache HTTP服務(wù)

      安裝httpd

      利用CentOS安裝HTTP最好的離線方式,就是從發(fā)行版的ISO鏡像里拿到rpm包:

      主要需要的包就兩個(gè):
      在這里插入圖片描述

      拿到后先安裝httpd-tools再安裝httpd,基本就安裝完了。

      安裝后我們?cè)噲D重啟httpd服務(wù),發(fā)現(xiàn)無(wú)法啟動(dòng),大概報(bào)這樣的錯(cuò):

      在這里插入圖片描述
      原因極大可能是由于Listen監(jiān)聽(tīng)端口的問(wèn)題,默認(rèn)為80,這個(gè)端口是很多服務(wù)默認(rèn)的監(jiān)聽(tīng)端口,所以可以改成其他,改成其他如888等不常用且未被占用的就好。

      接下來(lái)來(lái)部署HTTP文件服務(wù),我們修改配置,裝完httpd后默認(rèn)主配置文件為/etc/httpd/conf/httpd.conf

      主從配置文件
      一般來(lái)說(shuō),配置文件主要分兩種,一種是主配置文件,用于全局定義。一種是從,用于根據(jù)不同需要寫不同配置。

      1)主配置文件常用會(huì)改動(dòng)到的地方:

      1、允許跨域訪問(wèn)支持,即從http到https這樣的js腳本請(qǐng)求就算跨域,一般URL中的組成分為三部分:協(xié)議(http/https)、IP主機(jī)名、端口port。兩個(gè)URL中任一一個(gè)不同就算跨域。

      2、URL忽略大小寫,比如abcd.txt和Abcd.txt。在Nginx中是不支持訪問(wèn)的,雖然網(wǎng)上有很多所謂教程,但他們的目的其實(shí)是強(qiáng)行轉(zhuǎn)換成小寫或大寫,這樣服務(wù)器上所有的文件都不一樣了。而我們要的是,無(wú)論在URL里訪問(wèn)abcd還是Abcd都可以訪問(wèn)到。

      3、有些是需要用Apache部署整個(gè)項(xiàng)目,有些只是部署HTTP文件服務(wù)這塊,這個(gè)時(shí)候默認(rèn)是指向index.html,而且要求你的路徑下必須要有這個(gè)目錄。但我們要的是訪問(wèn)文件共享目錄,這個(gè)下面是顯示的所有文件即目錄的列表。要達(dá)到后者這個(gè)目的,也可以在這里面修改,這個(gè)后面講。

      2)從配置(搭建HTTP文件服務(wù)):主要是虛擬主機(jī)配置,這個(gè)后面講。

      部署HTTP文件服務(wù)

      主配置:全局修改

      # Listen 80   # 默認(rèn)80,最好修改
      Listen 888 
      
      # ServerName www.example:80 
      ServerName www.example  # 取消注釋,并去掉端口
      
      <Directory />
          AllowOverride none
          #Require all denied  # 配置文件服務(wù)需關(guān)閉該權(quán)限,否則無(wú)法訪問(wèn),注釋該行
          Require all granted  # 增加這行
      </Directory>
      
      <IfModule dir_module>
      #DirectoryIndex index.html
      DirectoryIndex None  # 把index.html改為None,否則每次訪問(wèn)該端口都會(huì)進(jìn)這個(gè)頁(yè)面,然后刪掉/etc/httpd/conf/welcome.conf,該文件指向index.html,如果改為None卻不刪除它仍然會(huì)報(bào)錯(cuò)
      </IfModule>
      
      #在EnableSendfile on和IncludeOptional conf.d/\*.conf中間加上
      ……
      EnableSendfile on
      
      # 忽略URL大小寫
      # ignore URL case
      LoadModule speling_module modules/mod_speling.so
      CheckSpelling on
      
      # 支持跨域訪問(wèn)
      # support CORS
      Header add Access-Control-Allow-Origin "*"
      Header add Access-Control-Allow-Headers "origin,x-requested-with, content-type"
      Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
      
      IncludeOptional conf.d/\*.conf
      

      修改完以后httpd服務(wù)加入開(kāi)機(jī)自啟后重啟服務(wù)即正常。

      systemctl enable httpd
      systemctl restart httpd
      systemctl status httpd
      

      修改完后,我們要添加HTTP服務(wù),配置都需放置于/etc/httpd/conf.d/下。在這之前,我們需要了解虛擬主機(jī)。

      虛擬主機(jī)

      虛擬主機(jī),一般而言是指在一臺(tái)服務(wù)器中運(yùn)行多個(gè)web站點(diǎn),但每個(gè)站點(diǎn)并不獨(dú)占一個(gè)服務(wù)。就好比我們有一個(gè)服務(wù)192.168.123.123:888,但我們有多個(gè)域名,aaa.com和bbb.com,但他們對(duì)應(yīng)的路徑不一樣,就可以設(shè)置這兩個(gè)域名對(duì)應(yīng)同一個(gè)服務(wù)。

      因?yàn)槲覀兣渲玫氖俏募?wù),和上面這種有點(diǎn)區(qū)別,不多講。

      虛擬主機(jī)配置有三種類型,這三種類型可以組合,參考底部鏈接:

      • 基于IP:每個(gè)虛擬主機(jī)使用不同的IP地址,但使用的端口相同;
      • 基于端口:每個(gè)虛擬主機(jī)的IP地址相同,但端口不同;
      • 基于域名:每個(gè)虛擬主機(jī)的IP和端口相同,但使用的域名不用;

      從配置

      這里我們使用的是基于端口的方式,假設(shè)我們?cè)诠?jié)點(diǎn)192.168.123.123上創(chuàng)建了一個(gè)端口1111,我們?cè)?code>/etc/httpd/conf.d/創(chuàng)建一個(gè)配置文件,如site1111.conf,內(nèi)容如下:

      Listen 1111
      <VirtualHost *:1111>
      	ServerAdmin example@admin.com
      
      	DocumentRoot /test/a  # /test/a這個(gè)目錄需要自己創(chuàng)建
      
      	<Directory "/test/a">
      	    Options Indexes FollowSymLinks
      	    AllowOverride All
      	    Order allow,deny
      	    Allow from all
      	</Directory>
      </VirtualHost>
      

      然后重啟httpd服務(wù),在瀏覽器上訪問(wèn)192.168.123.123:1111,你就會(huì)看到/test/a共享目錄下的所有文件列表。至此,HTTP文件服務(wù)部署成功。

      后端使用Python添加服務(wù)配置文件

      至于多個(gè)服務(wù)配置如何寫的問(wèn)題,由于后端是Python,寫文件方便,我弄了一個(gè)比較偷懶的辦法。
      這個(gè)文件里總共需要改動(dòng)的地方大概四處,兩個(gè)端口,兩個(gè)路徑,所以可以弄一個(gè)模板,將端口的地方弄為“{port}”這種,然后在讀的時(shí)候,replace即可。

      模板為site_base.tmp,這個(gè)地方注意,這里不要用conf做后綴名,httpd的配置文件都是以.conf結(jié)尾,它會(huì)去獲取所以符合條件的腳本,這個(gè)不規(guī)范的腳本不宜用.conf結(jié)尾。內(nèi)容如下:

      Listen {port}
      <VirtualHost *:{port}>
      	ServerAdmin example@admin.com
      
      	DocumentRoot {path}
      
      	<Directory "{path}">
      	    Options Indexes FollowSymLinks
      	    AllowOverride All
      	    Order allow,deny
      	    Allow from all
      	</Directory>
      </VirtualHost>
      

      修改時(shí),Python腳本示例如下,其中a必須已存在,如我們的模板文件。b隨意,寫入時(shí)可以自己創(chuàng)建且賦予寫的權(quán)限,這個(gè)就是我們新添加的文件:

      a = '/root/site_base.tmp'  # 模板名稱,不應(yīng)以conf結(jié)尾
      b = '/root/b.conf'
      
      with open(a, 'r') as f1, open(b, 'w') as f2:
          lines = f1.readlines()
          for line in lines:
              l1 = line.replace('{port}','8080').replace('{path}','/root/a')   # 替換關(guān)鍵內(nèi)容
              f2.write(l1)
      

      這種方式有幾個(gè)好處:改動(dòng)地方少,不用預(yù)先創(chuàng)建文件,且避開(kāi)copy的操作,更不用chmod設(shè)置寫權(quán)限

      參考鏈接:
      https://blog.51cto.com/13625676/2125695
      https://www.jianshu.com/p/2d3c67e35d8d

      posted @ 2019-11-15 20:49  蘇酒酒  閱讀(122)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 色综合天天综合天天综| 深夜av在线免费观看| 国产日韩精品欧美一区灰 | 久久精品午夜视频| 国产精品国产亚洲区久久| 久久久无码精品国产一区| 屁屁影院ccyy备用地址| 国产成人卡2卡3卡4乱码| 国产综合有码无码中文字幕 | 国产精品久久久久久久专区| 一区二区传媒有限公司| 亚洲理论在线A中文字幕| 美国又粗又长久久性黄大片| 午夜一区二区三区视频| 车险| 亚洲人成人影院在线观看| 亚洲av无码精品蜜桃| 久久成人国产精品免费软件| 边添小泬边狠狠躁视频| 69天堂人成无码免费视频 | 亚洲第一福利网站在线| 精品乱码一区二区三四五区| 久久精品熟女亚洲av麻| 国产中文99视频在线观看| 韩国午夜福利片在线观看| 99精品国产在热久久无| 国产亚洲精品国产福APP| 樱花草视频www日本韩国| 夜爽8888视频在线观看| 国产成人影院一区二区三区| 亚洲最大成人免费av| 精品人妻午夜福利一区二区| 国产无套内射普通话对白| 99热久久这里只有精品| 久久人人爽人人爽人人av| 国产三级精品片| 亚洲中文字幕日产无码成人片| 亚洲最大的成人网站| 国产三级国产精品国产专| 久久99国产乱子伦精品免费| 国产精品久久久久7777|