阿里云ECS中默認(rèn)是安裝了Nginx 1.6.0的躬厌。
- 登錄ESC
$ ssh root@[ESC IP地址]
root@[ESC IP地址]'s password: // 輸入密碼
Welcome to aliyun Elastic Compute Service!
Last login: Mon Jul 31 21:09:10 2017 from 210.13.77.213
- apt-get安裝Nginx
apt-get install nginx
- Nginx目錄
Nginx安裝完成后,cd
切入到/etc/nginx
目錄下有Nginx的所有文件。
sites-enabled/ // 可添加新配置項
sites-available/ // 在需要建立和管理多個站點的時候非常有用幢痘,可以幫助更好的組織不同的項目
只有在sites-enabled
目錄下的配置文件才能夠真正被訪問介杆,但是可以將文件放在sites-available
目錄下用來存檔或生成鏈接:
ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test
- Nginx配置靜態(tài)服務(wù)器
- 在sites-enabled目錄下創(chuàng)建一個新的空白文檔,命名為test
- Nginx配置文件格式龙誊,頂層server:
--------------------------------------------------------------------------------
- 頂級節(jié)點
server {
}
所有配置變量指令都在該花括號內(nèi)編寫抚垃。
- listen
聲明服務(wù)器監(jiān)聽的端口號,互聯(lián)網(wǎng)默認(rèn)80趟大。
- server_name
主要用來匹配url地址鹤树。
1] 支持設(shè)置子域名
2] 可以使用通配符或正則匹配路由
- root
托管靜態(tài)站點的最關(guān)鍵部分,定義靜態(tài)資源存放的路徑
- location
location接受兩個參數(shù)逊朽,一個字符串或正則和一段代碼罕伯。
字符串或正則用于匹配某個特定的目錄。
如只訪問root目錄叽讳,只需要加上'/'追他。`/`會匹配所有的url地址坟募,如果只想匹配某個準(zhǔn)確的字符串,只需要在前面加上一個等號:
location = / { ... }
- location > try_files
try_files接受一組文件名或正則邑狸,用于在根目錄下查找懈糯,并加載查找到的第一個結(jié)果。
location / {
try_files $url $url/ /index.html // $url是Nginx提供的单雾,每次有請求時赚哗,Nginx會生成一系列變量,存儲請求的相關(guān)信息硅堆。[優(yōu)先查找順序]
}
--------------------------------------------------------------------------------
一個簡單的配置文件如下:
server {
listen 80;
server_name 域名地址;
root /var/www/指向目錄;
location / {
try_files $url $url/ /index.html; // 訪問規(guī)則
}
}
在Nginx運行時屿储,會查找/etc/sites-enabled
目錄下的所有
配置文件用于顯示對應(yīng)內(nèi)容。完成新的配置時硬萍,需要重啟服務(wù)器:
sudo service nginx reload
// 這里的service實際是調(diào)用了配置文件里的內(nèi)容扩所,這些都是在使用apt時被生成的,實際調(diào)用的是/etc/init.d/nginx reload
- 檢測配置文件是否有錯誤
root@[ESC實例]:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 查看Nginx服務(wù)狀態(tài)
service nginx status
把default中的默認(rèn)80改掉朴乖,如果報錯已被占用的情況下祖屏。
官方文檔地址:http://nginx.org/en/docs/dirindex.html