- LINUX系統(tǒng)
-
一、安裝
1、用yum命令安裝
yum install nginx -y
2、nginx -t 可用來檢查一遍是否配置腳本運行正常
3、啟動服務(wù)
systemctl start nginx.service
4、服務(wù)配置為自動啟動
systemctl enable nginx.service
二、配置文件
配置文件為 /etc/nginx/nginx.conf
基本結(jié)構(gòu)是
三、配置中禁止惡意解析,禁止ip直接訪問
國內(nèi)網(wǎng)站的特殊性,國內(nèi)空間必須備案才能使用,如果域名指向某一空間ip而未備案,會導致該空間被強制關(guān)閉。正常情況下,你給自己的域名指向自己的空間并做了備案處理就結(jié)束了。但是此時如果有第三方惡意的將其它域名解析指向你的空間,則你的空間和該域名之間就屬于未備案狀態(tài)了。結(jié)果是導致你的空間收到處罰。
禁止惡意解析,禁止ip直接訪問的目的,就是讓本服務(wù)器僅響應(yīng)自己指定的域名,對第三方的域名接入或者ip直接接入返回錯誤,達到禁止惡意解析的目的。
在前述配置文件的server塊處,添加以下塊內(nèi)容
server {
listen 80 default_server;
server_name _;
return 403;
}
修改原server_name塊,其中server_name填寫自己的域名
多個server情況下,匹配優(yōu)先級按照server_name格式?jīng)Q定: 準確的>*通配符開始>*通配符結(jié)束>正則式
因此自己域名的訪問,最先匹配,并指向自己的root目錄
其它未知域名或者無域名的訪問,只能匹配到server_name _; 結(jié)果是返回錯誤信息。
注意其中寫上 default_server 或者default
四、配置支持多域名
通常,一個服務(wù)器可用掛載多個網(wǎng)站,節(jié)約成本,利用多server塊可為不同域名的接入請求配置出不同的目錄服務(wù)。
例如
五、進一步的配置技巧
server塊中,server_name可以是準確的域名,
也可以是通配符字符串,例如 *.aaaa.com bbbb.*
也可以是正則式 ,例如 ~^(?.+).aaaa.com$;
其中括號中取得的內(nèi)容可用$1這類標記在隨后的本地路徑配置中引用
由于server塊中的location也是可用正則式匹配url的,如果location也使用了正則,則會影響先前server_name正則取出的變量。解決辦法是用set命令將server_name正則取出的變量存放在臨時變量中
例如
server_name ~^(?.+).aaaa.com$;
set $temp $1;