阿里雲ECS初體驗(3) — Nginx安裝與配置

阿里雲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

發佈了52 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章