Nginx 常用命令和部署詳解及案例示范

一、Nginx常用命令
1.1 啟動 Nginx

要啟動 Nginx 服務,可以使用以下命令:

sudo systemctl start nginx
1.2 停止 Nginx

如果需要停止 Nginx 服務,可以使用以下命令:

sudo systemctl stop nginx
1.3 重啟 Nginx

在修改了 Nginx 配置文件后,需要重啟 Nginx 以使更改生效。可以使用以下命令:

sudo systemctl restart nginx
1.4 重新加載配置

當修改了配置文件,但不希望停止服務時,可以使用以下命令重新加載配置:

sudo systemctl reload nginx
1.5 查看 Nginx 狀態

要查看 Nginx 的當前運行狀態,可以使用以下命令:

sudo systemctl status nginx

這將顯示 Nginx 是否正在運行,以及其相關信息。

1.6 測試配置文件

在修改 Nginx 配置文件后,可以使用以下命令測試配置的正確性:

sudo nginx -t

如果配置文件正確,會返回 “syntax is ok” 和 “test is successful” 的信息。如果有錯誤,則會給出具體的錯誤信息和所在的配置文件行數。

1.7 查看 Nginx 日志

Nginx 的錯誤日志和訪問日志通常位于 /var/log/nginx 目錄中。以下命令可以實時查看錯誤日志:

tail -f /var/log/nginx/error.log

訪問日志可以使用類似的命令查看:

tail -f /var/log/nginx/access.log
1.8 查看 Nginx 進程

要查看當前運行的 Nginx 進程,可以使用以下命令:

ps aux | grep nginx

這將列出所有 Nginx 相關的進程信息,包括主進程和工作進程。

1.9 配置 Nginx 開機自啟動

要設置 Nginx 在系統啟動時自動啟動,可以使用以下命令:

sudo systemctl enable nginx
1.10 禁用 Nginx 開機自啟動

如果需要禁用 Nginx 在系統啟動時自動啟動,可以使用以下命令:

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# 設置開機自啟動
sudo systemctl enable nginx
2.2 驗證安裝

安裝完成后,可以通過以下命令檢查 Nginx 的狀態:

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;  # 靜態文件路徑index index.html index.htm;   # 默認首頁}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# 設置開機自啟動
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 文件實現實時刷新數據

在實際開發中,我們可能需要實時更新 Nginx 提供的靜態資源。可以通過 Docker 的掛載功能來實現這一點。

4.1 準備 HTML 文件

創建一個 HTML 文件夾,并在其中添加一個簡單的 HTML 文件。

mkdir ~/nginx-html
echo "<h1>Hello, Nginx!</h1>" > ~/nginx-html/index.html
4.2 啟動 Nginx 容器并掛載目錄

使用以下命令啟動 Nginx 容器,同時將宿主機的 HTML 文件夾掛載到容器內:

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 實時刷新數據

修改 ~/nginx-html/index.html 文件的內容,Nginx 會自動加載新的內容。比如可以添加如下內容:

<h1>Hello, Nginx! Updated!</h1>

保存文件后,刷新瀏覽器,即可看到更新的內容。

五、使用 Nginx 的數據分析系統案例

在數據分析系統中,Nginx 可以用作靜態文件服務器和反向代理,以提高系統的性能和安全性。以下是一個簡單的使用案例:

5.1 場景描述

假設我們有一個數據分析系統,前端使用 React 構建,后端使用 Node.js 提供 API。我們希望通過 Nginx 將靜態文件和 API 請求分發到不同的服務。

5.2 Nginx 配置示例
server {listen 80;server_name analytics.example.com;# 靜態文件服務location / {root /usr/share/nginx/html;  # 前端構建的靜態文件路徑index index.html;try_files $uri $uri/ /index.html;}# 反向代理到 Node.js 后端location /api {proxy_pass http://localhost:3000;  # Node.js 服務地址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;}
}
六、性能優化

在高并發場景中,優化 Nginx 的性能是非常重要的。以下是一些常見的優化方法:

6.1 調整工作進程和連接數

根據服務器的 CPU 核心數調整 worker_processesworker_connections 參數:

worker_processes auto;  # 自動設置為 CPU 核心數
worker_connections 2048;  # 增加最大連接數
6.2 開啟緩存

通過啟用緩存,減輕后端服務器的壓力:

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 壓縮,減少數據傳輸量:

gzip on;
gzip_types text/plain application/json application/javascript text/css;
gzip_min_length 1000;  # 只有大于1000字節的文件才進行壓縮

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895954.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025鴻蒙開發面試題匯總——通俗易懂

問題和通俗易懂的答案&#xff0c;覆蓋鴻蒙開發的核心知識點和實際場景&#xff0c;方便面試時快速評估候選人能力&#xff1a; 一、基礎概念&#xff08;必問&#xff09; 鴻蒙和安卓最大的區別是什么&#xff1f;舉個實際例子。 答案&#xff1a;鴻蒙是“分布式操作系統”&am…

Kotlin 優雅的接口實現

1. 日常遇到的冗余的接口方法實現 日常開發中&#xff0c;經常會要實現接口&#xff0c;但是很多場景中&#xff0c;只需要用到其中一兩個方法&#xff0c;例如 ActivityLifecycleCallbacks&#xff0c;它有很多個接口需要實現&#xff0c;但是很多時候我們只需要用到其中的一…

Java List 自定義對象排序 Java 8 及以上版本使用 Stream API

從 Java 8 開始&#xff0c;你可以使用 Stream API 對 List 進行排序&#xff0c;這種方式更加簡潔和靈活。 以下是一個示例代碼&#xff1a; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors;// 自定…

【Spring詳解一】Spring整體架構和環境搭建

一、Spring整體架構和環境搭建 1.1 Spring的整體架構 Spring框架是一個分層架構&#xff0c;包含一系列功能要素&#xff0c;被分為大約20個模塊 Spring核心容器&#xff1a;包含Core、Bean、Context、Expression Language模塊 Core &#xff1a;其他組件的基本核心&#xff…

Linux內核讀寫鎖與讀寫信號量的區別及選用

在Linux內核中&#xff0c;讀寫鎖&#xff08;rwlock_t&#xff09;和讀寫信號量&#xff08;struct rw_semaphore&#xff09;是兩種不同的同步機制&#xff0c;適用于不同的場景。以下是它們的區別和選用建議&#xff1a; 核心區別 特性讀寫鎖 (rwlock_t)讀寫信號量 (struct…

用openresty和lua實現壁紙投票功能

背景 之前做了一個隨機壁紙接口&#xff0c;但是不知道大家喜歡對壁紙的喜好&#xff0c;所以干脆在實現一個投票功能&#xff0c;讓用戶給自己喜歡的壁紙進行投票。 原理說明 1.當訪問http://demo.com/vote/時&#xff0c;會從/home/jobs/webs/imgs及子目錄下獲取圖片列表&…

LLaMA 3.1 模型在DAMODEL平臺的部署與實戰:打造智能聊天機器人

文章目錄 前言 一、LLaMA 3.1 的特點 二、LLaMA3.1的優勢 三、LLaMA3.1部署流程 &#xff08;一&#xff09;創建實例 &#xff08;二&#xff09;通過JupyterLab登錄實例 &#xff08;3&#xff09;部署LLaMA3.1 &#xff08;4&#xff09;使用教程 總結 前言 LLama3…

【Python爬蟲(25)】解鎖Python爬蟲:數據存儲的最優選擇與高效策略

【Python爬蟲】專欄簡介&#xff1a;本專欄是 Python 爬蟲領域的集大成之作&#xff0c;共 100 章節。從 Python 基礎語法、爬蟲入門知識講起&#xff0c;深入探討反爬蟲、多線程、分布式等進階技術。以大量實例為支撐&#xff0c;覆蓋網頁、圖片、音頻等各類數據爬取&#xff…

【復現DeepSeek-R1之Open R1實戰】系列8:混合精度訓練、DeepSpeed、vLLM和LightEval介紹

這里寫目錄標題 1 混合精度訓練1.1 FP16和FP321.2 優點1.3 存在的問題1.4 解決辦法 2 DeepSpeed3 vLLM3.1 存在的問題3.2 解決方法3.2.1 PagedAttention3.2.2 KV Cache Manager3.2.3 其他解碼場景 3.3 結論 4 LightEval4.1 主要功能4.2 使用方法4.3 應用場景 本文繼續深入了解O…

使用 FFmpeg 剪輯視頻指南

FFmpeg 是一個功能強大的多媒體處理工具&#xff0c;可以進行視頻和音頻的剪輯、合并、轉碼等操作。本文將詳細介紹如何使用 FFmpeg 進行視頻剪輯&#xff0c;并通過實例幫助你快速掌握剪輯技巧。我們會從最基礎的剪切功能講起&#xff0c;再延伸到一些高級操作&#xff0c;如指…

【分布式理論15】分布式調度1:分布式資源調度的由來與過程

文章目錄 一、操作系統的資源調度&#xff1a;從單核到多核二、 分布式系統的資源調度&#xff1a;從單臺服務器到集群三、 固定資源映射四、 動態資源分配&#xff1a;靈活的任務-資源匹配五、 資源調度過程&#xff1a;從申請到執行 本文主要討論主題&#xff1a; 從操作系統…

【Linux C/C++開發】Linux系統輕量級的隊列緩存mqueue

前言 開發設計時&#xff0c;通常會對業務流程進行模塊化&#xff0c;有些流程之間&#xff0c;不要求同步&#xff0c;但又需要傳遞信息時&#xff0c;如果存儲到數據庫&#xff0c;效率降低很多&#xff0c;如果是存放在內存是最好的。此時可以選擇系統的IPC&#xff08;進程…

Vue 實現通過URL瀏覽器本地下載 PDF 和 圖片

1、代碼實現如下&#xff1a; 根據自己場景判斷 PDF 和 圖片&#xff0c;下載功能可按下面代碼邏輯執行 const downloadFile async (item: any) > {try {let blobUrl: any;// PDF本地下載if (item.format pdf) {const response await fetch(item.url); // URL傳遞進入i…

計算機網絡基礎雜談(局域網、ip、子網掩碼、網關、DNS)

目錄 1. 簡單局域網的構成 2. IP 地址 3. 子網掩碼 4. IP地址詳解自定義IP 5. IP 地址詳解 6. 網關 7. DNS 域名解析 8. ping 1. 簡單局域網的構成 交換機是組建局域網最重要的設備&#xff0c;換句話說&#xff0c;沒有交換機就沒法搭建局域網 交換機不能讓局域網連…

Thor: 統一AI模型網關的革新之選

項目價值 Thor(雷神托爾)作為一個強大的AI模型管理網關&#xff0c;解決了當前AI領域一個關鍵痛點&#xff1a;不同AI服務商的API格式各異&#xff0c;集成成本高。Thor通過將各種AI模型的獨特格式統一轉換為OpenAI格式&#xff0c;顯著降低了開發者的使用門檻和維護成本。 核…

25年2月通信基礎知識補充:多普勒頻移與多普勒擴展、3GPP TDL信道模型

看文獻過程中不斷發現有太多不懂的基礎知識&#xff0c;故長期更新這類blog不斷補充在這過程中學到的知識。由于這些內容與我的研究方向并不一定強相關&#xff0c;故記錄不會很深入請見諒。 【通信基礎知識補充7】25年2月通信基礎知識補充1 一、多普勒頻移與多普勒擴展傻傻分不…

【Python】Python入門——筆記合集

哈哈 00、環境搭建 學習Python&#xff0c;首先需要搭建一個本地開發環境&#xff0c;或是使用線上開發環境&#xff08;各類練習網站&#xff09;&#xff0c;這篇博客里主要記錄了本地開發環境的配置方法。內容包括python解釋器的安裝以及pycharm的安裝、漢化等。 博客地…

為什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之間的所有事務 ID

首先我們要明確 m_ids 表示創建 ReadView 時&#xff0c;系統中所有活躍&#xff08;未提交&#xff09;事務的事務 ID 列表。 僅包含當前未提交的事務&#xff0c;與事務 ID 的數值范圍無關。 min_trx_id 是 m_ids 中的最小值。若 m_ids 為空&#xff0c;則 min_trx_id 等于…

使用 Spark NLP 實現中文實體抽取與關系提取

在自然語言處理(NLP)領域,實體抽取和關系提取是兩個重要的任務。實體抽取用于從文本中識別出具有特定意義的實體(如人名、地名、組織名等),而關系提取則用于識別實體之間的關系。本文將通過一個基于 Apache Spark 和 Spark NLP 的示例,展示如何實現中文文本的實體抽取和…

FPGA開發要學些什么?如何快速入門?

隨著FPGA行業的不斷發展&#xff0c;政策的加持和投入的研發&#xff0c;近兩年FPGA行業的薪資也是水漲船高&#xff0c;一些人轉行后拿到了薪資30W&#xff0c;甚至有一些能力強的人可以拿到60W&#xff0c;看到這里想必不少人表示很心動&#xff0c;但又不知道怎么轉&#xf…