web服務(wù) - Apache
安裝
安裝:$ yum install httpd (不同操作系統(tǒng)名字不一樣)
啟動(dòng):$ service httpd start
停止:$ service httpd stop
- 查詢進(jìn)程是否存在:
$ ps -ef | grep httpd - 默認(rèn)開(kāi)啟80端口,查看服務(wù)狀態(tài):
$ netstat -anpl | grep 'http'
表示已經(jīng)在監(jiān)聽(tīng)80端口
虛擬主機(jī)(一個(gè)服務(wù)器配置多個(gè)站點(diǎn),綁定多個(gè)域名)
/etc/httpd下的文件功能:conf 配置文件;conf.modules.d 配置模塊文件的配置文件;modules 模塊。
cd 到 conf,打開(kāi)httpd.conf

直接vi 用 /virtual 搜索,在該地方配置:

配置完保存后,
$ service httpd restart重啟服務(wù)$ mkdir -p /data/www 創(chuàng)建一個(gè)文件目錄$ ll /data/ 查看目錄權(quán)限,如果其它賬號(hào)操作 root 賬號(hào)權(quán)限的目錄則無(wú)法操作

更改一個(gè)目錄所屬的用戶(一般目錄權(quán)限不夠時(shí)更改,root賬號(hào)操作不用):
$ sudo chown -R imooc:imooc /data
修改本地host模擬一個(gè)域名訪問(wèn):
$ sudo vim /etc/hosts

查看
error.log 文件,表示這個(gè)目錄無(wú)法訪問(wèn)
需要添加<Directory>配置,重啟服務(wù)

如果還是不行就在服務(wù)器執(zhí)行下
$ sudo setenforce 01是強(qiáng)制模式,0是寬容模式,一般0是臨時(shí)關(guān)閉,如果要每次重啟都要關(guān)閉,需要
$ sudo vim /etc/selinux/config,禁用掉即可。

偽靜態(tài)
將php等動(dòng)態(tài)語(yǔ)言網(wǎng)頁(yè)偽靜態(tài)成html,利于SEO
在/etc/httpd/modules下(所有模塊的類),該文件是偽靜態(tài)模塊的重寫(xiě)規(guī)則:

/etc/httpd/conf.modules.d模塊的配置文件開(kāi)啟偽靜態(tài)步驟:1、將
mod_rewrite.so加載到系統(tǒng)中 2、打開(kāi)配置偽靜態(tài)規(guī)則1、在
/etc/httpd/httpd.conf中,搜索/LoadModule,修改配置加載一個(gè)新的modules,重啟服務(wù)。
2、一個(gè)簡(jiǎn)單的偽靜態(tài)規(guī)則示例:將所有http的請(qǐng)求轉(zhuǎn)換到index.html當(dāng)中,重啟服務(wù)(一般php的MVC框架配置為將所有的請(qǐng)求轉(zhuǎn)發(fā)到index.php即可)。

web服務(wù) - Nginx
安裝
$ yum install nginx
在centOS中比較特殊,需要添加Nginx yum資源庫(kù):
sudo rpm -Uvh http://[nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm](http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm)
sudo yum install -y nginx
啟動(dòng):$ service nginx start
停止:$ service nginx stop
重載:$ service ngnix reload
restart會(huì)殺掉進(jìn)程重新啟動(dòng)進(jìn)程,如果對(duì)外提供服務(wù)時(shí),用戶可能無(wú)法訪問(wèn),但reload命令會(huì)無(wú)縫的重啟遷移,建議使用reload
配置虛擬主機(jī)
在/etc/nginx下,nginx.conf 是配置文件,里面可能有conf.d重復(fù)的配置信息注意刪除。

cd到
conf.d中,有一個(gè)默認(rèn)的default.conf文件(也可能沒(méi)有,配置信息已經(jīng)在nginx.conf中了)
$ cp default.conf imooc.conf , 新建一個(gè)imooc的虛擬主機(jī)配置,重載服務(wù)
監(jiān)聽(tīng)多端口、多域名訪問(wèn)同一個(gè)服務(wù):

偽靜態(tài)
將所有http的請(qǐng)求都轉(zhuǎn)發(fā)到index.html當(dāng)中去。

日志格式配置:
$ sudo vim nginx.conf


Log 的格式:IP - 遠(yuǎn)程用戶 - 時(shí)間 - 請(qǐng)求 - 狀態(tài)值 - UA信息


可以查文檔看更多
nginxlog_format日志格式配置
按虛擬主機(jī)區(qū)分配置日志文件$ sudo vim conf.d/imooc.conf使用 imooc的log配置,輸出日志到指定目錄。


反向代理
$ sudo vim imooc.conf
將所有http://www.imooc.test/ www.imooc3.test 的請(qǐng)求轉(zhuǎn)發(fā)到118.89.106.129:80,由于服務(wù)器配置了只解析指定域名的請(qǐng)求,所以需要加入proxy_set_header Host www.54php.cn 配置即可將所有www.imooc.test請(qǐng)求反向代理到 www.54php.cn(后端服務(wù)器被隱藏)

負(fù)載均衡
增加一個(gè)upstream server配置即可,默認(rèn)輪流請(qǐng)求轉(zhuǎn)發(fā)到這兩臺(tái)服務(wù)器


nginx 調(diào)試
調(diào)試查看用戶是用哪個(gè)域名來(lái)訪問(wèn)的,如不加頭部信息會(huì)直接下載返回信息文件。

