干活中需要配置一個(gè)Nginx實(shí)現(xiàn)反向代理搓蚪。
當(dāng)然珠十,Nginx還有其他應(yīng)用:
- http服務(wù)器,訪問(wèn)靜態(tài)資源
- 虛擬主機(jī)
- 反向代理代承、負(fù)載均衡
部署Nginx
Nginx有兩種部署方式:yum和離線編譯,一般情況下使用yum部署即可渐扮。
- yum部署Nginx
yum install nginx -y
- 但可能會(huì)遇到報(bào)錯(cuò)
沒(méi)有可用軟件包 nginx论悴。
原因是nginx位于第三方的yum源里面,而不在centos官方y(tǒng)um源里面,解決方法:
yum install epel-release
https://blog.csdn.net/zhou_438/article/details/89554438 - 離線部署
離線部署就是在Linux上手動(dòng)編譯一個(gè)Nginx了墓律,中間要的依賴比較多膀估,可以參考:
https://developer.aliyun.com/article/791648
配置Nginx
https://blog.csdn.net/Orainge/article/details/129034901
- Nginx的配置文件有哪些?
Nginx通過(guò)nginx.conf定義默認(rèn)配置文件耻讽,也可以自定義任意文件來(lái)配置察纯,這些配置文件都會(huì)同時(shí)生效。 - nginx.conf的含義
通過(guò)yum部署的nginx.conf默認(rèn)位置在/etc/nginx/nginx.conf
Paramenter | Effect |
---|---|
user | 設(shè)置worker進(jìn)程的用戶针肥,可以設(shè)置為root |
worker_processes | worker進(jìn)程工作數(shù)饼记,可以設(shè)置為cpu數(shù),默認(rèn)自動(dòng) |
error_log | 日志級(jí)別 |
pid | nginx進(jìn)程pid |
include | 引入外部配置祖驱,寫(xiě)上路徑握恳,可以用通配符,可以寫(xiě)多行 |
events{} | 影響 Nginx 服務(wù)器與用戶的網(wǎng)絡(luò)連接 |
http{} | 包括http塊捺僻、server塊乡洼、location塊 |
http塊
Parameter | Effect |
---|---|
log_format | 設(shè)置輸出日志的格式 |
access_log | 日志位置和使用格式 |
sendfile | 高效文件傳輸 |
tcp_nopush | 高效文件傳輸 |
tcp_nodelay | 高效文件傳輸 |
keepalive_timeout | 設(shè)置請(qǐng)求超時(shí)時(shí)間 |
types_hash_max_size | 有關(guān)服務(wù)器名字hash表查詢 |
include | 指定包含其他拓展配置文件 |
default_type | 其他文件類型的默認(rèn)處理方式(下載or打開(kāi))默認(rèn)下載 |
server塊
Parameter | Effect |
---|---|
listen | 監(jiān)聽(tīng)的ip:端口 |
server_name | 虛擬服務(wù)器域名,匹配到特定的server塊匕坯,轉(zhuǎn)發(fā)到對(duì)應(yīng)的應(yīng)用服務(wù)器 |
root | 默認(rèn)根目錄 |
include | 默認(rèn)外掛文件 |
error_page | 默認(rèn)錯(cuò)誤頁(yè) |
location | 匹配對(duì)應(yīng)的用戶請(qǐng)求url束昵,并將其映射到服務(wù)器的指定目錄 |
Tips
- 通過(guò)yum安裝其文件位置
文件名稱 | 文件作用 | 文件路徑 |
---|---|---|
nginx.conf | 啟動(dòng)配置文件 | /etc/nginx/nginx.conf |
conf.d | 1111 | /etc/nginx/conf.d |
html/* | 網(wǎng)頁(yè)服務(wù)器項(xiàng)目文件 | /usr/share/nginx/html/ |
logs | 日志文件 | /var/log/nginx/ |
其他安裝文件 | 其他安裝文件 | /etc/nginx |
systemctl start nginx 報(bào)錯(cuò)
ob for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details
執(zhí)行兩個(gè)命令后發(fā)現(xiàn)http權(quán)限不足,可以參考https://blog.csdn.net/RunSnail2018/article/details/81185138systemctl stop nginx 報(bào)錯(cuò)
只有通過(guò)systemctl啟動(dòng)的nginx可以通過(guò)systemctl關(guān)閉或重啟