nginx 安裝入門(mén)
Nginx 通過(guò) Homebrew 安裝
brew install nginx
Nginx 配置路徑信息
/usr/local/Cellar/nginx (安裝文件目錄)
/usr/local/etc/nginx/nginx.conf (配置文件路徑)
/usr/local/var/www (服務(wù)器默認(rèn)路徑)
/usr/local/Cellar/nginx/1.12.0 (安裝路徑)(我安裝的是1.12.0,具體參照自己安裝的版本)
/private/etc/hosts (系統(tǒng)hosts位置)
啟動(dòng)Nginx服務(wù)
brew services start nginx
成功后,使用瀏覽器打開(kāi):
http://localhost:8080
Nginx常用指令
nginx 啟動(dòng)
nginx
nginx快速停止
nginx -s stop
nginx -s quit
查看版本,以及配置文件地址
nginx -V
查看版本
nginx -v
重新加載配置|重啟|停止|退出 nginx
nginx -s reload|reopen|stop|quit
幫助
nginx -h
主要命令
1. 查看nginx信息: brew info nginx
2. 切換至nginx配置文件所在路徑:cd /usr/local/etc/nginx
3. 修改nginx配置文件:vim nginx.conf
4. 查看nginx配置是否正確:nginx -t
5. 重啟nginx: nginx -s reload
? ** 詳細(xì)步驟 **
-
通過(guò)查看nginx信息,查看配置文件所在路徑
brew info nginx -
切換至配置文件所在路徑
cd / usr/local/etc/nginx -
修改配置文件,以修改目錄為例
將默認(rèn)目錄修改為指定目錄/Users/lanyf/www
vim nginx.conf找到修改或者新建
location / { root html; index index.html index.htm; } location /dist { root /Users/liuzheng/項(xiàng)目/前端(Vue)/wx-manage-master/; index index.html index.htm; }“/”指向地址“root”地址,“/dist”指向“root”路徑下的dist文件夾
-
查看修改后的配置是否正確
nginx -t -
重啟nginx
nginx -s reload
-
Nginx配置文件結(jié)構(gòu)
- 1、全局塊:配置影響nginx全局的指令。一般有運(yùn)行nginx服務(wù)器的用戶組,nginx進(jìn)程pid存放路徑,日志存放路徑,配置文件引入,允許生成worker process數(shù)等。
- 2、events塊:配置影響nginx服務(wù)器或與用戶的網(wǎng)絡(luò)連接。有每個(gè)進(jìn)程的最大連接數(shù),選取哪種事件驅(qū)動(dòng)模型處理連接請(qǐng)求,是否允許同時(shí)接受多個(gè)網(wǎng)路連接,開(kāi)啟多個(gè)網(wǎng)絡(luò)連接序列化等。
- 3、http塊:可以嵌套多個(gè)server,配置代理,緩存,日志定義等絕大多數(shù)功能和第三方模塊的配置。如文件引入,mime-type定義,日志自定義,是否使用sendfile傳輸文件,連接超時(shí)時(shí)間,單連接請(qǐng)求數(shù)等。
- 4、server塊:配置虛擬主機(jī)的相關(guān)參數(shù),一個(gè)http中可以有多個(gè)server。
- 5、location塊:配置請(qǐng)求的路由,以及各種頁(yè)面的處理情況。
########### 每個(gè)指令必須有分號(hào)結(jié)束。################# #user administrator administrators; #配置用戶或者組,默認(rèn)為nobody nobody。 #worker_processes 2; #允許生成的進(jìn)程數(shù),默認(rèn)為1 #pid /nginx/pid/nginx.pid; #指定nginx進(jìn)程運(yùn)行文件存放地址 error_log log/error.log debug; #制定日志路徑,級(jí)別。這個(gè)設(shè)置可以放入全局塊,http塊,server塊,級(jí)別以此為:debug|info|notice|warn|error|crit|alert|emerg events { accept_mutex on; #設(shè)置網(wǎng)路連接序列化,防止驚群現(xiàn)象發(fā)生,默認(rèn)為on multi_accept on; #設(shè)置一個(gè)進(jìn)程是否同時(shí)接受多個(gè)網(wǎng)絡(luò)連接,默認(rèn)為off #use epoll; #事件驅(qū)動(dòng)模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport worker_connections 1024; #最大連接數(shù),默認(rèn)為512 } http { include mime.types; #文件擴(kuò)展名與文件類(lèi)型映射表 default_type application/octet-stream; #默認(rèn)文件類(lèi)型,默認(rèn)為text/plain #access_log off; #取消服務(wù)日志 log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定義格式 access_log log/access.log myFormat; #combined為日志格式的默認(rèn)值 sendfile on; #允許sendfile方式傳輸文件,默認(rèn)為off,可以在http塊,server塊,location塊。 sendfile_max_chunk 100k; #每個(gè)進(jìn)程每次調(diào)用傳輸數(shù)量不能大于設(shè)定的值,默認(rèn)為0,即不設(shè)上限。 keepalive_timeout 65; #連接超時(shí)時(shí)間,默認(rèn)為75s,可以在http,server,location塊。 upstream mysvr { server 127.0.0.1:7878; server 192.168.10.121:3333 backup; #熱備 } error_page 404 https://www.baidu.com; #錯(cuò)誤頁(yè) server { keepalive_requests 120; #單連接請(qǐng)求上限次數(shù)。 listen 4545; #監(jiān)聽(tīng)端口 server_name 127.0.0.1; #監(jiān)聽(tīng)地址 location ~*^.+$ { #請(qǐng)求的url過(guò)濾,正則匹配,~為區(qū)分大小寫(xiě),~*為不區(qū)分大小寫(xiě)。 #root path; #根目錄 #index vv.txt; #設(shè)置默認(rèn)頁(yè) proxy_pass http://mysvr; #請(qǐng)求轉(zhuǎn)向mysvr 定義的服務(wù)器列表 deny 127.0.0.1; #拒絕的ip allow 172.18.5.54; #允許的ip } } }