apt-get install nginx # Ubuntu yum install nginx -y # CentOS
nginx -t # 檢查配置文件正確性 test configuration and exit
which nginx # or whereis nginx
:查看主程序文件/etc/init.d/
:下建立了啓動腳本nginx(需手動配置),支持service nginx start
命令/var/log/nginx
:日誌文件夾,/var/log/nginx/error.log
:錯誤日誌文件,/var/log/nginx/access.log
:訪問日誌文件/etc/nginx/nginx.conf
:Nginx全局站點配置文件,日誌文件能夠在/etc/nginx/nginx.conf
中配置,默認讀取的配置文件/etc/nginx/conf.d
:自定義Nginx站點配置文件存放目錄/etc/nginx/conf.d/default.conf
:網站默認站點配置/usr/share/nginx/html
:網站文件默認存放目錄sites-available
:則是管理大量站點時服務器的一種通用配置。sites-enabled
:則是一種單獨配置,須要使用enabled
時,須要使用ln
命令軟鏈接到相應網站。sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/
/etc/nginx/nginx.conf
中有以下語句:html
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
可見,配置文件放在sites-avaliable
文件夾中,須要建立軟鏈接在sites-enabled
中,纔會生效。nginx
server_name
的做用實際上是當該機器上同時部署了其餘域名服務時起做用的。segmentfault
若是nginx中只配置一個server域的話,則nginx是不會去進行server_name的匹配的。由於只有一個server域,也就是這有一個虛擬主機,那麼確定是發送到該nginx的全部請求均是要轉發到這一個域的,即使作一次匹配也是沒有用的。還不如干脆直接就省了。若是一個http域的server域有多個,nginx纔會根據$hostname去匹配server_name進而把請求轉發到匹配的server域中。此時的匹配會按照匹配的優先級進行,一旦匹配成功進不會再進行匹配服務器
參考:網站
location
接受兩個參數,一個字符串或者正則,和一段代碼。字符串用於匹配某個特定目錄。.net
location / { autoindex on; autoindex_exact_size off; # 默認是開,以b爲單位,關閉後,會顯示MB GB
nginx 默認的帳號權限過低,沒有部分文件的訪問權限,致使訪問時出現 403 Forbidden
。日誌
配置文件 /etc/nginx/nginx.conf
:code
user nginx;
應該修改成:server
user root;
/usr/sbin/nginx -h # 查看幫助
/usr/sbin/nginx -c /etc/nginx/nginx.conf # 默認也會讀取該配置文件,因此,能夠不加-c參數 nginx # 運行/usr/sbin目錄下的nginx的命令 nginx -s reload # 運行這句話的前提是,nginx正在運行,重載,若是以前運行了stop,那麼會提示出錯 "/run/nginx.pid" failed service nginx start service nginx status
Nginx的server的配置內容,增長一行:charset utf-8;
htm