阿里雲ECS中默認是安裝了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配置靜態服務器
- 在sites-enabled目錄下創建一個新的空白文檔,命名爲test
- Nginx配置文件格式,頂層server:
--------------------------------------------------------------------------------
- 頂級節點
server {
}
所有配置變量指令都在該花括號內編寫。
- listen
聲明服務器監聽的端口號,互聯網默認80。
- server_name
主要用來匹配url地址。
1] 支持設置子域名
2] 可以使用通配符或正則匹配路由
- root
託管靜態站點的最關鍵部分,定義靜態資源存放的路徑
- location
location接受兩個參數,一個字符串或正則和一段代碼。
字符串或正則用於匹配某個特定的目錄。
如只訪問root目錄,只需要加上'/'。`/`會匹配所有的url地址,如果只想匹配某個準確的字符串,只需要在前面加上一個等號:
location = / { ... }
- location > try_files
try_files接受一組文件名或正則,用於在根目錄下查找,並加載查找到的第一個結果。
location / {
try_files $uri $uri/ /index.html // $uri是Nginx提供的,每次有請求時,Nginx會生成一系列變量,存儲請求的相關信息。[優先查找順序]
}
--------------------------------------------------------------------------------
一個簡單的配置文件如下:
server {
listen 80;
server_name 域名地址;
root /var/www/指向目錄;
location / {
try_files $uri $uri/ /index.html; // 訪問規則
}
}
在Nginx運行時,會查找/etc/sites-enabled
目錄下的所有
配置文件用於顯示對應內容。完成新的配置時,需要重啓服務器:
sudo service nginx reload
// 這裏的service實際是調用了配置文件裏的內容,這些都是在使用apt時被生成的,實際調用的是/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服務狀態
service nginx status
把default中的默認80改掉,如果報錯已被佔用的情況下。
官方文檔地址:http://nginx.org/en/docs/dirindex.html