按如下所示為example.com創建目錄,使用-p標誌創建任何必需的父目錄:
$ sudo mkdir -p /var/www/ example.com/html
接下來,使用$USER環境變量分配目錄的所有權:
USER:$USER /var/www/ example.com/html/
如果妳沒有修改妳的umask值,妳的web根目錄的權限應該是正確的,但是妳可以通過輸入:
$ sudo chmod -R 755 /var/www/ example.com/
接下來,使用gedit或您最喜歡的編輯器創建壹個index.html頁面示例:
$ gedit /var/www/ example.com/html/index.html
在裏面,添加下面的示例HTML:
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
為了讓Nginx提供這些內容,有必要創建壹個具有正確指令的服務器塊。 我們不要直接修改默認配置文件,而是在/etc/nginx/sites-available/ example.com上創建壹個新文件:
$ sudo gedit /etc/nginx/sites-available/example.com
粘貼到以下配置塊中,該塊類似於默認值,但已更新為我們的新目錄和域名:
server {
listen 80;
listen [::]:80;
}
請註意,我們已將root配置更新到我們的新目錄,並將server_name為我們的域名。
接下來,讓我們通過創建壹個鏈接到啟動sites-enabled目錄來啟用該文件,該目錄是Nginx在啟動過程中讀取的:
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
現在啟用兩個服務器模塊並將其配置為基於listen和server_name指令響應請求(您可以閱讀關於Nginx如何處理這些指令的更多信息):
example.com :將響應 example.com 和 www.example.com 請求。
default :將響應端口80上與其他兩個塊不匹配的任何請求。
為了避免添加額外的服務器名稱可能導致的哈希桶內存問題,有必要調整/etc/nginx/nginx.conf文件中的單個值。
打開文件:sudo gedit /etc/nginx/nginx.conf
找到server_names_hash_bucket_size指令並刪除#符號以取消註釋該行:
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
接下來,測試以確保您的Nginx文件中沒有語法錯誤:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
如果沒有任何問題,請重新啟動Nginx以啟用您的更改:
$ sudo systemctl restart nginx
熟悉重要的Nginx文件和目錄
nginx服務器配置文件:
/etc/nginx :Nginx配置目錄。 所有的Nginx配置文件都駐留在這裏。
/etc/nginx/nginx.conf :主要的Nginx配置文件。 這可以修改,以更改Nginx全局配置。
/etc/nginx/sites-available/ :可存儲每個站點服務器塊的目錄。 除非將Nginx鏈接到sites-enabled了sites-enabled目錄,否則Nginx不會使用此目錄中的配置文件。 通常,所有服務器塊配置都在此目錄中完成,然後通過鏈接到其他目錄啟用。
/etc/nginx/sites-enabled/ :存儲啟用的每個站點服務器塊的目錄。 通常,這些是通過鏈接到sites-available目錄中的配置文件創建的。
/etc/nginx/snippets :這個目錄包含可以包含在Nginx配置其他地方的配置片段。 可重復配置的片段可以重構為片段。
nginx服務器日誌文件:
/var/log/nginx/access.log :除非Nginx配置為其他方式,否則每個對您的Web服務器的請求都會記錄在此日誌文件中。
/var/log/nginx/error.log :任何Nginx錯誤都會記錄在這個日誌中。