一、服務(wù)器從零到一——Ubuntu搭建nginx靜態(tài)服務(wù)器

更新一下安裝包

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y

安裝nginx

sudo apt-get install nginx  -y

調(diào)整防火墻

sudo ufw app list        # 獲得應(yīng)用程序配置文件的列表
可用應(yīng)用程序:
  Nginx Full  此配置文件打開端口80(正常,未加密的網(wǎng)絡(luò)流量)和端口443(TLS / SSL加密流量)
  Nginx HTTP  此配置文件僅打開端口80(正常,未加密的網(wǎng)絡(luò)流量)
  Nginx HTTPS  此配置文件僅打開端口443(TLS / SSL加密流量)
  OpenSSH

啟動(dòng)防火墻

sudo ufw enable
啟動(dòng)后可輸入下方命令查看防火墻可通過服務(wù)情況
sudo ufw status
添加可通過服務(wù)
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
sudo ufw allow 'Nginx Full'

檢查nginx是否運(yùn)行

sudo systemctl status nginx
q退出查看狀態(tài)
nginx 運(yùn)行中

管理nginx進(jìn)程

sudo systemctl stop nginx      停止Web服務(wù)器
sudo systemctl start nginx      啟動(dòng)Web服務(wù)器
sudo systemctl restart nginx   重啟Web服務(wù)器
sudo systemctl reload nginx   重新加載配置文件
sudo systemctl disable nginx  禁止開機(jī)啟動(dòng)
sudo systemctl enable nginx   設(shè)置開機(jī)啟動(dòng)

設(shè)置服務(wù)器塊

Ubuntu 18.04上的Nginx默認(rèn)啟用了一個(gè)服務(wù)器模塊,該模塊被配置為在/var/www/html目錄下提供文檔。 雖然這適用于單個(gè)站點(diǎn),但如果您托管多個(gè)站點(diǎn),它可能會(huì)變得很笨重。 我們不必修改/var/www/html ,而是在/var/www為我們的example.com網(wǎng)站創(chuàng)建一個(gè)目錄結(jié)構(gòu),并將/var/www/html保留為默認(rèn)目錄,如果客戶端請求沒有匹配任何其他網(wǎng)站。

按如下所示為example.com創(chuàng)建目錄,使用-p標(biāo)志創(chuàng)建任何必需的父目錄:

$ sudo mkdir -p /var/www/example.com/html

接下來,使用$USER環(huán)境變量分配目錄的所有權(quán):

sudo chown -RUSER:$USER /var/www/example.com/html/

如果你沒有修改你的umask值,你的web根目錄的權(quán)限應(yīng)該是正確的,但是你可以通過輸入:

$ sudo chmod -R 755 /var/www/example.com/

接下來,使用gedit或您最喜歡的編輯器創(chuàng)建一個(gè)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提供這些內(nèi)容,有必要?jiǎng)?chuàng)建一個(gè)具有正確指令的服務(wù)器塊。 我們不要直接修改默認(rèn)配置文件,而是在/etc/nginx/sites-available/ example.com上創(chuàng)建一個(gè)新文件:

$ sudo gedit /etc/nginx/sites-available/example.com

粘貼到以下配置塊中,該塊類似于默認(rèn)值,但已更新為我們的新目錄和域名:

server {
listen 80;
listen [::]:80;

    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name example.com www.example.com;

    location / {
            try_files $uri $uri/ =404;
    }

}
請注意,我們已將root配置更新到我們的新目錄,并將server_name為我們的域名。

接下來,讓我們通過創(chuàng)建一個(gè)鏈接到啟動(dòng)sites-enabled目錄來啟用該文件,該目錄是Nginx在啟動(dòng)過程中讀取的:

$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

現(xiàn)在啟用兩個(gè)服務(wù)器模塊并將其配置為基于listen和server_name指令響應(yīng)請求(您可以閱讀關(guān)于Nginx如何處理這些指令的更多信息):

example.com :將響應(yīng)example.comwww.example.com請求。
default :將響應(yīng)端口80上與其他兩個(gè)塊不匹配的任何請求。
為了避免添加額外的服務(wù)器名稱可能導(dǎo)致的哈希桶內(nèi)存問題,有必要調(diào)整/etc/nginx/nginx.conf文件中的單個(gè)值。

打開文件:sudo gedit /etc/nginx/nginx.conf

找到server_names_hash_bucket_size指令并刪除#符號(hào)以取消注釋該行:

...
http {
...
server_names_hash_bucket_size 64;
...
}
...
接下來,測試以確保您的Nginx文件中沒有語法錯(cuò)誤:

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果沒有任何問題,請重新啟動(dòng)Nginx以啟用您的更改:

$ sudo systemctl restart nginx

熟悉重要的Nginx文件和目錄

nginx服務(wù)器配置文件:

/etc/nginx :Nginx配置目錄。 所有的Nginx配置文件都駐留在這里。
/etc/nginx/nginx.conf :主要的Nginx配置文件。 這可以修改,以更改Nginx全局配置。
/etc/nginx/sites-available/ :可存儲(chǔ)每個(gè)站點(diǎn)服務(wù)器塊的目錄。 除非將Nginx鏈接到sites-enabled了sites-enabled目錄,否則Nginx不會(huì)使用此目錄中的配置文件。 通常,所有服務(wù)器塊配置都在此目錄中完成,然后通過鏈接到其他目錄啟用。
/etc/nginx/sites-enabled/ :存儲(chǔ)啟用的每個(gè)站點(diǎn)服務(wù)器塊的目錄。 通常,這些是通過鏈接到sites-available目錄中的配置文件創(chuàng)建的。
/etc/nginx/snippets :這個(gè)目錄包含可以包含在Nginx配置其他地方的配置片段。 可重復(fù)配置的片段可以重構(gòu)為片段。
nginx服務(wù)器日志文件:

/var/log/nginx/access.log :除非Nginx配置為其他方式,否則每個(gè)對(duì)您的Web服務(wù)器的請求都會(huì)記錄在此日志文件中。
/var/log/nginx/error.log :任何Nginx錯(cuò)誤都會(huì)記錄在這個(gè)日志中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容