nginx常用配置系列-虛擬主機
阿新 • • 發佈:2017-06-26
server com 文件 主機 -o 書寫 lena 準備 類型
本來準備詳盡的出一份nginx配置講解,但nginx功能配置繁多,平常使用中使用最多的一般有:
1. 虛擬主機配置
2. HTTPS配置
3. 靜態資源處理
4. 反向代理
================= 虛擬主機配置 =================
先說虛擬主機配置,nginx的核心配置文件在nginx的安裝目錄下conf目錄中(如果是CentOS通過yum安裝則在/etc/nginx目錄中)
在conf目錄下創建vhost目錄,方便管理虛擬主機的配置文件
mkdir vhost
以example.com域名為例,在vhost目錄中新建虛擬主機的配置文件example.com.conf(文件名依照域名來構造,方便辨別),編輯example.com.conf(下面是一段PHP虛擬主機的典型配置)
server { # 監聽的端口 listen 80; # host域名 server_name example.com www.example.com; # 設置長連接(可選) keepalive_timeout 70; # 減少點擊劫持 add_header X-Frame-Options DENY; # 禁止服務器自動解析資源類型(安全起見,防止文件偽裝) add_header X-Content-Type-Options nosniff; # 防XSS攻擊 add_header X-Xss-Protection 1; # 默認頁面 index index.html index.htm index.php default.html default.htm default.php; # 網站源碼主目錄 root /home/wwwroot/example.com; # 寫訪問日誌 access_log /home/wwwlogs/kuaimashi.com.log main; # 文件匹配規則(詳解http://seanlook.com/2015/05/17/nginx-location-rewrite/index.html) location ~ [^/]\.php(/|$) { try_files $uri =404; #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { # 靜態資源30天過期 expires 30d; } location ~ .*\.(js|css)?$ { # js, css 12小時過期 expires 12h; } location / { index index.php; if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?$1 last; break; } } }
保存並關閉
在nginx的主配置文件nginx.conf中include引入虛擬主機的配置文件(放在括號內的最下面即可)
include vhost/*.conf;
配置文件寫好了,這時最好先測試文件是否書寫正確
nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -t輸出這樣表明配置無誤,否則需要根據輸出進行配置文件檢查
在確認虛擬主機文件無誤後,讓nginx把我們的配置文件加載進來(reload)
nginx -s reload
加載完畢後就可以在瀏覽器看效果了
================= 虛擬主機介紹完畢 =================
後續繼續記錄HTTPS,靜態資源處理,反向代理常見用法
文章有不足之處請直接指出,互相學習交流QQ:1485619676
nginx常用配置系列-虛擬主機