Nginx常用命令和部署詳解以及實戰(zhàn)案例示范
一、Nginx常用命令
1.1 啟動 Nginx
要啟動 Nginx 服務(wù),可以使用以下命令:
sudo systemctl start nginx
1.2 停止 Nginx
如果需要停止 Nginx 服務(wù),可以使用以下命令:
sudo systemctl stop nginx
1.3 重啟 Nginx
在修改了 Nginx 配置文件后,需要重啟 Nginx 以使更改生效??梢允褂靡韵旅睿?/p>
sudo systemctl restart nginx
1.4 重新加載配置
當(dāng)修改了配置文件,但不希望停止服務(wù)時,可以使用以下命令重新加載配置:
sudo systemctl reload nginx
1.5 查看 Nginx 狀態(tài)
要查看 Nginx 的當(dāng)前運行狀態(tài),可以使用以下命令:
sudo systemctl status nginx
這將顯示 Nginx 是否正在運行,以及其相關(guān)信息。
1.6 測試配置文件
在修改 Nginx 配置文件后,可以使用以下命令測試配置的正確性:
sudo nginx -t
如果配置文件正確,會返回 “syntax is ok” 和 “test is successful” 的信息。如果有錯誤,則會給出具體的錯誤信息和所在的配置文件行數(shù)。
1.7 查看 Nginx 日志
Nginx 的錯誤日志和訪問日志通常位于 /var/log/nginx
目錄中。以下命令可以實時查看錯誤日志:
tail -f /var/log/nginx/error.log
訪問日志可以使用類似的命令查看:
tail -f /var/log/nginx/access.log
1.8 查看 Nginx 進程
要查看當(dāng)前運行的 Nginx 進程,可以使用以下命令:
ps aux | grep nginx
這將列出所有 Nginx 相關(guān)的進程信息,包括主進程和工作進程。
1.9 配置 Nginx 開機自啟動
要設(shè)置 Nginx 在系統(tǒng)啟動時自動啟動,可以使用以下命令:
sudo systemctl enable nginx
1.10 禁用 Nginx 開機自啟動
如果需要禁用 Nginx 在系統(tǒng)啟動時自動啟動,可以使用以下命令:
sudo systemctl disable nginx
二、在 CentOS 上部署 Nginx
2.1 安裝 Nginx
在 CentOS 上安裝 Nginx 可以通過 EPEL(Extra Packages for Enterprise Linux)倉庫或源代碼編譯來完成。下面介紹使用 yum 安裝的方法:
# 安裝 EPEL 倉庫 sudo yum install epel-release # 安裝 Nginx sudo yum install nginx # 啟動 Nginx sudo systemctl start nginx # 設(shè)置開機自啟動 sudo systemctl enable nginx
2.2 驗證安裝
安裝完成后,可以通過以下命令檢查 Nginx 的狀態(tài):
sudo systemctl status nginx
然后在瀏覽器中輸入 http://your_server_ip
,如果看到 Nginx 的歡迎頁面,說明安裝成功。
2.3 Nginx 配置文件
Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf
。下面是一個基本的配置示例:
worker_processes auto; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; # 靜態(tài)文件路徑 index index.html index.htm; # 默認(rèn)首頁 } error_page 404 /404.html; # 自定義404頁面 location = /404.html { internal; } } }
三、在 Docker 中部署 Nginx
3.1 Docker 安裝
首先,需要在 CentOS 上安裝 Docker:
# 更新 yum sudo yum update # 安裝必要的依賴 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加 Docker 官方的 yum 源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安裝 Docker sudo yum install docker-ce # 啟動 Docker sudo systemctl start docker # 設(shè)置開機自啟動 sudo systemctl enable docker
3.2 拉取 Nginx 鏡像
sudo docker pull nginx
3.3 運行 Nginx 容器
以下是啟動 Nginx 容器的命令:
sudo docker run --name my-nginx -p 80:80 -d nginx
此命令將 Nginx 運行在后臺并映射到宿主機的 80 端口。
四、Docker 掛載 HTML 文件實現(xiàn)實時刷新數(shù)據(jù)
在實際開發(fā)中,我們可能需要實時更新 Nginx 提供的靜態(tài)資源??梢酝ㄟ^ Docker 的掛載功能來實現(xiàn)這一點。
4.1 準(zhǔn)備 HTML 文件
創(chuàng)建一個 HTML 文件夾,并在其中添加一個簡單的 HTML 文件。
mkdir ~/nginx-html echo "<h1>Hello, Nginx!</h1>" > ~/nginx-html/index.html
4.2 啟動 Nginx 容器并掛載目錄
使用以下命令啟動 Nginx 容器,同時將宿主機的 HTML 文件夾掛載到容器內(nèi):
sudo docker run --name my-nginx -p 80:80 -v ~/nginx-html:/usr/share/nginx/html -d nginx
在這個命令中,-v ~/nginx-html:/usr/share/nginx/html
將宿主機的 ~/nginx-html
目錄掛載到 Nginx 容器的 /usr/share/nginx/html
目錄中。
4.3 實時刷新數(shù)據(jù)
修改 ~/nginx-html/index.html
文件的內(nèi)容,Nginx 會自動加載新的內(nèi)容。比如可以添加如下內(nèi)容:
<h1>Hello, Nginx! Updated!</h1>
保存文件后,刷新瀏覽器,即可看到更新的內(nèi)容。
五、使用 Nginx 的數(shù)據(jù)分析系統(tǒng)案例
在數(shù)據(jù)分析系統(tǒng)中,Nginx 可以用作靜態(tài)文件服務(wù)器和反向代理,以提高系統(tǒng)的性能和安全性。以下是一個簡單的使用案例:
5.1 場景描述
假設(shè)我們有一個數(shù)據(jù)分析系統(tǒng),前端使用 React 構(gòu)建,后端使用 Node.js 提供 API。我們希望通過 Nginx 將靜態(tài)文件和 API 請求分發(fā)到不同的服務(wù)。
5.2 Nginx 配置示例
server { listen 80; server_name analytics.example.com; # 靜態(tài)文件服務(wù) location / { root /usr/share/nginx/html; # 前端構(gòu)建的靜態(tài)文件路徑 index index.html; try_files $uri $uri/ /index.html; } # 反向代理到 Node.js 后端 location /api { proxy_pass http://localhost:3000; # Node.js 服務(wù)地址 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
六、性能優(yōu)化
在高并發(fā)場景中,優(yōu)化 Nginx 的性能是非常重要的。以下是一些常見的優(yōu)化方法:
6.1 調(diào)整工作進程和連接數(shù)
根據(jù)服務(wù)器的 CPU 核心數(shù)調(diào)整 worker_processes
和 worker_connections
參數(shù):
worker_processes auto; # 自動設(shè)置為 CPU 核心數(shù) worker_connections 2048; # 增加最大連接數(shù)
6.2 開啟緩存
通過啟用緩存,減輕后端服務(wù)器的壓力:
proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
6.3 壓縮傳輸
通過開啟 gzip 壓縮,減少數(shù)據(jù)傳輸量:
gzip on; gzip_types text/plain application/json application/javascript text/css; gzip_min_length 1000; # 只有大于1000字節(jié)的文件才進行壓縮
總結(jié)
到此這篇關(guān)于Nginx常用命令和部署詳解以及實戰(zhàn)案例的文章就介紹到這了,更多相關(guān)Nginx 常用命令和部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用問題
這篇文章主要介紹了使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學(xué)習(xí)Keepalived實現(xiàn)Nginx的自動重啟的相關(guān)知識,需要的朋友可以參考下2021-09-09nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明
這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Nginx轉(zhuǎn)發(fā)socket端口配置詳解
這篇文章主要介紹了Nginx轉(zhuǎn)發(fā)socket端口配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06