CentOS 7.9 安裝 nginx-1.22.0

来源:https://www.cnblogs.com/huaxiayuyi/archive/2022/10/07/16759643.html
-Advertisement-
Play Games

一、CentOS 7.9 安裝 nginx-1.22.0 下載地址:http://nginx.org/en/download.html 2 安裝前的準備 # 操作系統內核版本 uname -a # 操作系統發行版本 cat /etc/redhat-release 在安裝Nginx之前,我們需要確保全 ...


一、CentOS 7.9 安裝 nginx-1.22.0


下載地址:http://nginx.org/en/download.html

2 安裝前的準備

# 操作系統內核版本
uname -a
# 操作系統發行版本
cat /etc/redhat-release

在安裝Nginx之前,我們需要確保全裝Nginx所依賴的其他程式,執行下麵的命令,安裝或更新相應的程式。

yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel libxslt-devel geoip-devel gd gd-devel

執行完成後,如果之前未安裝的,則會自動安裝,如果之前已經安裝有舊的版本,則會被新的版本代替。

 

3 wget下載

# 推薦wget下載
yun install -y wget
wget http://nginx.org/download/nginx-1.22.0.tar.gz

4 創建用戶和組

useradd nginxxyz -s /sbin/nologin
id nginxxyz

 

二、解壓


tar -zxvf /opt/software/nginx-1.22.0.tar.gz -C /opt/    # 解壓
cd /opt/nginx-1.22.0    # 進入nginx目錄

 

三、配置編譯模塊

使用 ll 可以看到目錄下有 configure 的可執行文件,這個文件的作用,就是根據你系統的情況,生成makefile的,以便於下一步的編譯和安裝

cd /opt/nginx-1.22.0
./configure   # 不帶參數,預設會安裝到 /usr/local/nginx 目錄,也可以 指定參數。
./configure --prefix=/usr/local/nginx  # 則會在安裝的時候,安裝到 /usr/data/nginx 的目錄  。
./configure \
--user=nginxxyz \
--group=nginxxyz \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat  \
--with-pcre-jit \
--prefix=/usr/local/nginx

 

四、編譯&安裝


make
make install         # 這兩行可以分開執行,也可以在同一行執行
make && make install # 同一行執行

 

五、修改環境變數


將nginx服務加入環境變數

在文件中添加 nginx 的安裝路徑下的bin 目錄

vim /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin
# 使配置文件生效
source /etc/profile

 

六、啟動


# 啟動nginx
nginx
# 重啟nginx
nginx -s reload
# 停止nginx
nginx -s stop

 

七、自啟動


很多時候,我們為了方便管理,在伺服器重啟後,需要nginx自動啟動,那麼我們可以添加 nginx 的服務

# 創建 nginx 服務文件
vim /lib/systemd/system/nginx.service

nginx 的服務文件配置可參考如下:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

完成後,按ESC鍵,輸入:wq 保存並退出,上面的nginx 相應的目錄,需要改為你自己的目錄。

服務文件配置好了,接下來要把它添加到服務裡面。

systemctl enable nginx.service

執行完後,系統會在下方提示:

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

看到這個,nginx 的服務就已經完成添加,但這個時候,還沒有啟動的,我們可以通過下麵的命令來操作nginx。

# 查看運行狀態
systemctl status nginx

其他命令

# 啟動 nginx
systemctl start nginx
# 停止 nginx
systemctl stop nginx
# 重新載入 nginx
systemctl reload nginx

如果重新修改 nginx.service 配置文件後,則需要使用下麵的命令來重新載入服務的配置文件。

# 重新載入服務的配置文件
systemctl daemon-reload

 

八、nginx 配置


使用源碼安裝方式,nginx的配置文件,通常會在  /usr/local/nginx/conf/nginx.conf  這個位置,可以通過 vi 或 vim 修改。 

# 打開配置文件
vim /usr/local/nginx/conf/nginx.conf

 

九、防火牆


# 關閉防火牆
systemctl stop firewalld

# 開放3306埠命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 配置立即生效
firewall-cmd --reload

 

雲主機需配置安全組(預設已放行,可省略

在入方向規則,允許80放行

 

 

十、問題記錄


錯誤:./configure: error: the HTTP rewrite module requires the PCRE library.

解決:安裝pcre-devel:yum -y install pcre-devel

 

錯誤:./configure: error: the HTTP cache module requires md5 functions 

from OpenSSL library. You can either disable the module by using 
–without-http-cache option, or install the OpenSSL library into the system, 
or build the OpenSSL library statically from the source with nginx by using 
–with-http_ssl_module –with-openssl= options.

解決:yum -y install openssl openssl-devel

 

錯誤:./configure: error: the HTTP XSLT module requires the libxml2/libxslt    缺少libxml2

解決:yum -y install libxml2 libxml2-devel && yum -y install libxslt-devel

 

錯誤信息:./configure: error: the HTTP image filter module requires the GD library. You can either do not enable the module or install the libraries.

解決方法:http_image_filter_module是nginx提供的集成圖片處理模塊,需要gd-devel的支持   yum -y install gd-devel

 

錯誤信息:./configure: error: perl module ExtUtils::Embed is required 缺少ExtUtils

解決方法:yum -y install perl-devel perl-ExtUtils-Embed

 

錯誤信息:./configure: error: the GeoIP module requires the GeoIP library. You can either do not enable the module or install the library. 缺少GeoIP

解決方法:yum -y install GeoIP GeoIP-devel GeoIP-data

 

錯誤信息:./configure: error: the Google perftools module requires the Google perftools
library. You can either do not enable the module or install the library.

解決方法:yum -y install gperftools

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 思路分析 註冊頁面需要對用戶提交的數據進行校驗,並且需要對用戶輸入錯誤的地方進行提示! 所有我們需要使用forms組件搭建註冊頁面! 平時我們書寫form是組件的時候是在views.py裡面書寫的, 但是為了接耦合,我們需要將forms組件都單獨寫在一個地方,需要用的時候導入就行! 例如,在項目文件 ...
  • 許多情況下我們需要用到攝像頭獲取圖像,進而處理圖像,這篇博文介紹利用pyqt5、OpenCV實現用電腦上連接的攝像頭拍照並保存照片。為了使用和後續開發方便,這裡利用pyqt5設計了個相機界面,後面將介紹如何實現,要點包括界面設計、邏輯實現及完整代碼。 ...
  • 在日常後端Api開發中,我們跟前端的溝通中,通常需要協商好入參的數據類型,和參數是通過什麼方式存在於請求中的,是表單(form)、請求體(body)、地址欄參數(query)、還是說通過請求頭(header)。 當協商好後,我們的介面又需要怎麼去接收這些數據呢?很多小伙伴可能上手就是直接寫一個實體, ...
  • 一:背景 1.講故事 在分析的眾多dump中,經常會遇到各種奇葩的問題,僅通過dump這種快照形式還是有很多問題搞不定,而通過 perfview 這種粒度又太粗,很難找到問題之所在,真的很頭疼,比如本篇的 短命線程 問題,參考圖如下: 我們在 t2 時刻抓取的dump對查看 短命線程 毫無幫助,我根 ...
  • 1.用vmware添加一塊10G的硬碟,且永久掛載到/data01中,寫出詳細的步驟 2.用自己語言描述raid0和raid1的區別 RAID 0: 將兩個或以上相同信號,容量的硬碟組合,磁碟陣列的總容量是多個硬碟的總和,數據依次寫 入物理磁碟,理想狀態下,硬碟讀寫性能會翻倍。但只要壞一塊磁碟,所有 ...
  • SPI是我最常用的介面之一,連接管腳僅為4根;在常見的晶元間通信方式中,速度遠優於UART、I2C等其他介面。STM32的SPI口的同步時鐘最快可到PCLK的二分之一,單個位元組或字的通信時間都在us以下,因此大多數情況下我們會使用查詢法控制SPI口的傳輸。但對於大量且連續的通信,再使用查詢法就顯得有 ...
  • 下載地址:https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-x64.tar.gz 解壓壓縮包 tar zxvf /opt/software/node-v14.16.0-linux-x64.tar.gz -C /opt/ 添加至環境變數 vim ...
  • 一、CentOS 7.9 安裝 Jenkins 2.361.2 1 下載地址:https://www.jenkins.io/download 2 簡介 Jenkins是一個Java開發的開源持續集成工具,廣泛用於項目開發,具有自動化構建、測試和部署等功能,它的運行需要Java環境。 二、Jenkin ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...