Nginx常用命令和部署詳解以及實(shí)戰(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 以使更改生效。可以使用以下命令:
sudo systemctl restart nginx
1.4 重新加載配置
當(dāng)修改了配置文件,但不希望停止服務(wù)時,可以使用以下命令重新加載配置:
sudo systemctl reload nginx
1.5 查看 Nginx 狀態(tài)
要查看 Nginx 的當(dāng)前運(yùn)行狀態(tài),可以使用以下命令:
sudo systemctl status nginx
這將顯示 Nginx 是否正在運(yùn)行,以及其相關(guān)信息。
1.6 測試配置文件
在修改 Nginx 配置文件后,可以使用以下命令測試配置的正確性:
sudo nginx -t
如果配置文件正確,會返回 “syntax is ok” 和 “test is successful” 的信息。如果有錯誤,則會給出具體的錯誤信息和所在的配置文件行數(shù)。
1.7 查看 Nginx 日志
Nginx 的錯誤日志和訪問日志通常位于 /var/log/nginx 目錄中。以下命令可以實(shí)時查看錯誤日志:
tail -f /var/log/nginx/error.log
訪問日志可以使用類似的命令查看:
tail -f /var/log/nginx/access.log
1.8 查看 Nginx 進(jìn)程
要查看當(dāng)前運(yùn)行的 Nginx 進(jìn)程,可以使用以下命令:
ps aux | grep nginx
這將列出所有 Nginx 相關(guān)的進(jìn)程信息,包括主進(jìn)程和工作進(jìn)程。
1.9 配置 Nginx 開機(jī)自啟動
要設(shè)置 Nginx 在系統(tǒng)啟動時自動啟動,可以使用以下命令:
sudo systemctl enable nginx
1.10 禁用 Nginx 開機(jī)自啟動
如果需要禁用 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è)置開機(jī)自啟動 sudo systemctl enable nginx
2.2 驗(yàn)證安裝
安裝完成后,可以通過以下命令檢查 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è)置開機(jī)自啟動 sudo systemctl enable docker
3.2 拉取 Nginx 鏡像
sudo docker pull nginx
3.3 運(yùn)行 Nginx 容器
以下是啟動 Nginx 容器的命令:
sudo docker run --name my-nginx -p 80:80 -d nginx
此命令將 Nginx 運(yùn)行在后臺并映射到宿主機(jī)的 80 端口。
四、Docker 掛載 HTML 文件實(shí)現(xiàn)實(shí)時刷新數(shù)據(jù)
在實(shí)際開發(fā)中,我們可能需要實(shí)時更新 Nginx 提供的靜態(tài)資源??梢酝ㄟ^ Docker 的掛載功能來實(shí)現(xiàn)這一點(diǎ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 容器,同時將宿主機(jī)的 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 將宿主機(jī)的 ~/nginx-html 目錄掛載到 Nginx 容器的 /usr/share/nginx/html 目錄中。
4.3 實(shí)時刷新數(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)整工作進(jìn)程和連接數(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é)的文件才進(jìn)行壓縮
總結(jié)
到此這篇關(guān)于Nginx常用命令和部署詳解以及實(shí)戰(zhàn)案例的文章就介紹到這了,更多相關(guān)Nginx 常用命令和部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于使用Keepalived實(shí)現(xiàn)Nginx的自動重啟及雙主熱備高可用問題
這篇文章主要介紹了使用Keepalived實(shí)現(xiàn)Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學(xué)習(xí)Keepalived實(shí)現(xiàn)Nginx的自動重啟的相關(guān)知識,需要的朋友可以參考下2021-09-09
nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明
這篇文章主要介紹了nginx配置proxy_pass后返回404問題以及Nginx host相關(guān)變量的說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
Nginx轉(zhuǎn)發(fā)socket端口配置詳解
這篇文章主要介紹了Nginx轉(zhuǎn)發(fā)socket端口配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

