首頁 > 運維 > Nginx > 主體

Ubuntu 16.04中如何設定使用NGINX Web伺服器

PHPz
發布: 2023-05-11 16:55:19
轉載
1198 人瀏覽過

Nginx專為效能最佳化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對並發連接的高處理能力(單台實體伺服器可支援30000~50000個並發連線), 是一個高效能的HTTP 和反向代理伺服器,也是一個IMAP/POP3/SMTP 代理程式服。 Ubuntu 16.04中怎么配置和使用NGINX Web服务器

安裝 Certbot

第一步是安裝 certbot,該軟體用戶端可以幾乎自動化所有的流程。 Certbot 開發人員會維護自己的 Ubuntu 倉庫,其中包含比 Ubuntu 倉庫中存在的軟體更新的軟體。

新增Certbot 倉庫:

# add-apt-repository ppa:certbot/certbot
登入後複製

接下來,更新APT 來源清單:

# apt-get update
登入後複製

此時,可以使用下列apt 指令安裝certbot:

# apt-get install certbot
登入後複製

Certbot 現已安裝並可使用。

取得憑證

有各種 Certbot 外掛程式可用於取得 SSL 憑證。這些外掛程式有助於取得證書,而證書的安裝和 Web 伺服器配置都留給管理員。

我們使用一個名為 Webroot 的外掛程式來取得 SSL 憑證。

在有能力修改正在提供的內容的情況下,建議使用此外掛程式。在憑證授權過程中不需要停止 Web 伺服器。

設定 NGINX

Webroot 會在 Web 根目錄下的 .well-known 目錄中為每個網域建立一個暫存檔案。在我們的範例中,Web 根目錄是 /var/www/html。確保該目錄在 Let’s Encrypt 驗證時可存取。為此,請編輯 NGINX 配置。使用文字編輯器開啟/etc/nginx/sites-available/default:

# $EDITOR /etc/nginx/sites-available/default
登入後複製
登入後複製

在該檔案中,在server 區塊內,輸入以下內容:

location ~ /.well-known {
allow all;
}
登入後複製

儲存,退出並檢查NGINX設定:

# nginx -t
登入後複製

沒有錯誤的話應該會顯示如下:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
登入後複製

重啟NGINX:

# systemctl restart nginx
登入後複製
登入後複製

使用Certbot 取得憑證

#下一步是使用Certbot 的Webroot 外掛程式取得新憑證。在本教程中,我們將保護範例網域 www.example.com。需要指定應由憑證保護的每個網域。執行以下命令:

# certbot certonly --webroot --webroot-path=/var/www/html -d www.example.com
登入後複製

在此過程中,Cerbot 將詢問有效的電子郵件地址,以便進行通知。也會要求與 EFF 分享,但這不是必要的。在同意服務條款之後,它將獲得一個新的證書。

最後,目錄 /etc/letsencrypt/archive 將包含以下檔案:

  • chain.pem:Let’s Encrypt 加密鏈憑證。

  • cert.pem:網域憑證。

  • fullchain.pem:cert.pem和 chain.pem 的組合。

  • privkey.pem:憑證的私密金鑰。

Certbot 也會建立符號連結到 /etc/letsencrypt/live/domain_name/ 中的最新憑證檔案。這是我們將在伺服器配置中使用的路徑。

在 NGINX 上設定 SSL/TLS

下一步是伺服器設定。在 /etc/nginx/snippets/ 中建立一個新的程式碼段。 snippet 是指一段配置,可以包含在虛擬主機設定檔中。如下建立一個新的檔案:

# $EDITOR /etc/nginx/snippets/secure-example.conf
登入後複製

該檔案的內容將指定憑證和金鑰位置。貼上以下內容:

ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem;
登入後複製

在我們的例子中,domain_name 是 example.com。

編輯 NGINX 設定

編輯預設虛擬主機檔案:

# $EDITOR /etc/nginx/sites-available/default
登入後複製
登入後複製

如下:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name www.example.comreturn 301 https://$server_name$request_uri;# SSL configuration#listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/secure-example.conf## Note: You should disable gzip for SSL traffic.# See: https://bugs.debian.org/773332# ...}
登入後複製

這將啟用 NGINX 加密功能。

儲存、退出並檢查 NGINX 設定檔:

# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
登入後複製

重新啟動 NGINX:

# systemctl restart nginx
登入後複製
登入後複製

以上是Ubuntu 16.04中如何設定使用NGINX Web伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板