最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CentOS 7下編譯安裝 Nginx 并配置 Web、HTTPS、PHP 與反向代理

 更新時(shí)間:2026年07月22日 08:53:04   作者:qetfw  
在CentOS 7上編譯安裝Nginx并配置Web、HTTPS、PHP 支持以及反向代理涉及多個(gè)步驟,本文介紹CentOS 7下編譯安裝Nginx并配置Web、HTTPS、PHP 與反向代理,感興趣的朋友跟隨小編一起看看吧

1. 服務(wù)介紹

Nginx 是高性能 Web 服務(wù)器和反向代理服務(wù)器,可發(fā)布靜態(tài)網(wǎng)站、終止 HTTPS、把 PHP 請(qǐng)求交給 PHP-FPM,并將客戶端請(qǐng)求轉(zhuǎn)發(fā)到多個(gè)后端節(jié)點(diǎn)。它常用于網(wǎng)站入口、動(dòng)靜分離、負(fù)載均衡和應(yīng)用網(wǎng)關(guān)。本實(shí)驗(yàn)使用源碼包編譯安裝 Nginx,并完成常見(jiàn)站點(diǎn)功能。

2. 準(zhǔn)備運(yùn)行環(huán)境

示例環(huán)境如下:

| 角色 | IP 地址 | 用途 |

| --- | --- | --- |

| Nginx 服務(wù)器 | 10.1.100.101 | Web、HTTPS、PHP、反向代理入口 |

| 后端 Web 1 | 10.1.100.201 | 負(fù)載均衡節(jié)點(diǎn) |

| 后端 Web 2 | 10.1.100.202 | 負(fù)載均衡節(jié)點(diǎn) |

| 測(cè)試客戶端 | 10.1.100.50 | 瀏覽器和 curl 驗(yàn)證 |

• 操作系統(tǒng):CentOS 7.x。

• 操作賬號(hào):root 或具備 sudo 權(quán)限的管理員。

• 軟件源:YUM 可用。

• 源碼包:本實(shí)驗(yàn)沿用原始資料中的 nginx-1.4.2.tar.gz。生產(chǎn)環(huán)境應(yīng)使用仍受支持的穩(wěn)定版本。

• 網(wǎng)絡(luò):客戶端可訪問(wèn)服務(wù)端 80、443 端口,Nginx 可訪問(wèn)兩個(gè)后端節(jié)點(diǎn)。

開始前檢查系統(tǒng)和網(wǎng)絡(luò):

cat /etc/centos-release
uname -r
ip addr
ping -c 3 10.1.100.201
ping -c 3 10.1.100.202

3. 相關(guān)知識(shí)

• Nginx 主配置文件由 main、eventshttp、server、location 等上下文組成,指令必須放在允許的上下文中。

• HTTP 和 HTTPS 常用 TCP 80、443。訪問(wèn)失敗時(shí)先檢查監(jiān)聽(tīng)端口、防火墻、SELinux 和路由。

• 修改配置后先執(zhí)行 nginx -t,語(yǔ)法正確再重載,避免錯(cuò)誤配置中斷現(xiàn)有服務(wù)。

server_name 決定虛擬主機(jī)匹配;測(cè)試域名時(shí)可先在客戶端 hosts 文件中綁定服務(wù)器 IP。

• PHP 代碼不能由 Nginx 自己解釋,需要通過(guò) FastCGI 轉(zhuǎn)交 PHP-FPM。

• 反向代理隱藏后端服務(wù)器;正向代理代表客戶端訪問(wèn)外部網(wǎng)絡(luò)。Nginx 核心模塊不適合作為通用 HTTPS 正向代理,完整正向代理通常使用 Squid 等軟件。

• 負(fù)載均衡默認(rèn)使用輪詢,也可使用 least_connip_hash 或權(quán)重。必須同時(shí)配置健康檢查或失敗重試策略。

• 排錯(cuò)重點(diǎn):/usr/local/nginx/logs/error.log、訪問(wèn)日志、curl 狀態(tài)碼、后端連通性和 SELinux 審計(jì)日志。

4. 實(shí)驗(yàn)步驟

4.1 安裝編譯依賴

yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel
useradd -r -s /sbin/nologin nginx

4.2 上傳并檢查源碼包

在 Windows 客戶端使用 SCP 上傳源碼包:

在服務(wù)器確認(rèn)文件已經(jīng)上傳:

ls -lh /root/nginx-1.4.2.tar.gz
sha256sum /root/nginx-1.4.2.tar.gz

4.3 解壓并編譯安裝

cd /root
tar -zxvf nginx-1.4.2.tar.gz

編譯并安裝:

cd /root/nginx-1.4.2
./configure \
  --prefix=/usr/local/nginx \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_stub_status_module
make -j2
make install
/usr/local/nginx/sbin/nginx -V

4.4 配置 systemd 服務(wù)

創(chuàng)建 /etc/systemd/system/nginx.service

[Unit]
Description=Nginx Web Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable nginx

4.5 配置基礎(chǔ)網(wǎng)站

創(chuàng)建站點(diǎn)目錄和首頁(yè):

mkdir -p /data/www/site
echo 'Nginx site on 10.1.100.101' > /data/www/site/index.html
chown -R nginx:nginx /data/www/site

/usr/local/nginx/conf/nginx.confhttp 段加入:

include /usr/local/nginx/conf/conf.d/*.conf;

創(chuàng)建配置目錄和 /usr/local/nginx/conf/conf.d/site.conf

mkdir -p /usr/local/nginx/conf/conf.d
server {
    listen 80;
    server_name www.example.test;
    root /data/www/site;
    index index.html index.php;
    access_log logs/site_access.log;
    error_log  logs/site_error.log;
    location / {
        try_files $uri $uri/ =404;
    }
}

客戶端 hosts 文件加入:

10.1.100.101 www.example.test

4.6 配置 HTTPS 網(wǎng)站

創(chuàng)建實(shí)驗(yàn)自簽名證書:

mkdir -p /usr/local/nginx/conf/ssl
openssl req -x509 -nodes -newkey rsa:2048 -days 365 \
  -keyout /usr/local/nginx/conf/ssl/www.example.test.key \
  -out /usr/local/nginx/conf/ssl/www.example.test.crt \
  -subj '/C=CN/ST=Zhejiang/L=Hangzhou/O=Lab/CN=www.example.test'
chmod 600 /usr/local/nginx/conf/ssl/www.example.test.key

site.conf 增加 HTTPS 虛擬主機(jī):

server {
    listen 443 ssl;
    server_name www.example.test;
    root /data/www/site;
    ssl_certificate     /usr/local/nginx/conf/ssl/www.example.test.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/www.example.test.key;
    ssl_protocols TLSv1.2;
    location / {
        try_files $uri $uri/ =404;
    }
}

自簽名證書只用于實(shí)驗(yàn)。生產(chǎn)環(huán)境應(yīng)使用可信 CA 證書并啟用當(dāng)前安全協(xié)議和加密套件。

4.7 配置 PHP 解析

yum install -y epel-release php php-fpm
sed -i 's/^user = apache/user = nginx/' /etc/php-fpm.d/www.conf
sed -i 's/^group = apache/group = nginx/' /etc/php-fpm.d/www.conf
systemctl enable --now php-fpm
echo '<?php echo "PHP OK ".PHP_VERSION; ?>' > /data/www/site/info.php
chown nginx:nginx /data/www/site/info.php

在兩個(gè) server 段中按需加入:

location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

4.8 配置反向代理、動(dòng)靜分離和負(fù)載均衡

創(chuàng)建 /usr/local/nginx/conf/conf.d/proxy.conf

upstream backend_pool {
    least_conn;
    server 10.1.100.201:80 max_fails=3 fail_timeout=10s;
    server 10.1.100.202:80 max_fails=3 fail_timeout=10s;
    keepalive 16;
}
server {
    listen 80;
    server_name app.example.test;
    location /static/ {
        alias /data/www/static/;
        expires 7d;
    }
    location / {
        proxy_pass http://backend_pool;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Connection '';
        proxy_next_upstream error timeout http_502 http_503 http_504;
    }
}

準(zhǔn)備靜態(tài)測(cè)試文件:

mkdir -p /data/www/static
echo 'static file from nginx' > /data/www/static/test.txt
chown -R nginx:nginx /data/www/static

客戶端 hosts 文件再加入:

10.1.100.101 app.example.test

4.9 檢查配置并啟動(dòng)服務(wù)

/usr/local/nginx/sbin/nginx -t
systemctl restart nginx
systemctl status nginx --no-pager
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

5. 驗(yàn)證結(jié)果

5.1 服務(wù)端檢查

/usr/local/nginx/sbin/nginx -t
systemctl status nginx --no-pager
systemctl status php-fpm --no-pager
ss -lntp | grep -E ':80|:443|:9000'
curl -I http://127.0.0.1/
curl -kI https://www.example.test/
tail -n 50 /usr/local/nginx/logs/error.log
journalctl -u nginx -n 50 --no-pager

5.2 客戶端功能驗(yàn)證

curl -I http://www.example.test/
curl -k https://www.example.test/
curl http://www.example.test/info.php
curl http://app.example.test/static/test.txt
for i in {1..6}; do curl -s http://app.example.test/; done

基礎(chǔ)頁(yè)面返回 200,HTTPS 能建立連接,PHP 頁(yè)面顯示版本,靜態(tài)文件由 Nginx 返回,多次訪問(wèn)代理域名能到達(dá)后端節(jié)點(diǎn),說(shuō)明配置生效。

5.3 后端故障驗(yàn)證

停止一個(gè)后端 Web 服務(wù),再連續(xù)訪問(wèn)代理域名:

for i in {1..6}; do curl -s http://app.example.test/; done

請(qǐng)求仍能由另一臺(tái)后端處理,同時(shí)錯(cuò)誤日志記錄失敗節(jié)點(diǎn),說(shuō)明反向代理失敗重試生效?;謴?fù)后端后再次驗(yàn)證輪詢結(jié)果。

到此這篇關(guān)于CentOS 7下編譯安裝 Nginx 并配置 Web、HTTPS、PHP 與反向代理的文章就介紹到這了,更多相關(guān)CentOS 7編譯安裝 Nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx反向代理的主被動(dòng)健康檢查方式

    Nginx反向代理的主被動(dòng)健康檢查方式

    這篇文章主要介紹了Nginx反向代理的主被動(dòng)健康檢查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • windows7下安裝PHP+nginx的方法

    windows7下安裝PHP+nginx的方法

    這篇文章主要介紹了windows7下安裝PHP+nginx的方法,較為詳細(xì)的分析了Windows7環(huán)境下安裝php與nginx服務(wù)器環(huán)境的具體步驟與相關(guān)設(shè)置技巧,需要的朋友可以參考下
    2016-05-05
  • Nginx實(shí)現(xiàn)非套路鏡像站的踩坑記錄

    Nginx實(shí)現(xiàn)非套路鏡像站的踩坑記錄

    這篇文章主要給大家介紹了關(guān)于Nginx實(shí)現(xiàn)非套路鏡像站的踩坑記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • Nginx配置基于多域名、端口、IP的虛擬主機(jī)

    Nginx配置基于多域名、端口、IP的虛擬主機(jī)

    這篇文章主要介紹了Nginx配置基于多域名、端口、IP的虛擬主機(jī),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 使用Nginx創(chuàng)建臨時(shí)和永久重定向的具體示例

    使用Nginx創(chuàng)建臨時(shí)和永久重定向的具體示例

    HTTP 重定向 是將一個(gè)域名或地址指向另一個(gè)的方法,有幾種不同類型的重定向,每種對(duì)客戶端瀏覽器意味著不同的事情,最常見(jiàn)的兩種類型是臨時(shí)重定向和永久重定向,本文給大家介紹了使用Nginx創(chuàng)建臨時(shí)和永久重定向的具體示例,需要的朋友可以參考下
    2024-07-07
  • nginx?location/區(qū)別詳解

    nginx?location/區(qū)別詳解

    本文主要介紹了nginx?location/區(qū)別詳解,主要介紹了8中不同的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Ubuntu服務(wù)器已下載Nginx安裝包的安裝步驟(最新推薦)

    Ubuntu服務(wù)器已下載Nginx安裝包的安裝步驟(最新推薦)

    在Ubuntu服務(wù)器上安裝已下載的 Nginx,需完成依賴安裝、解壓編譯、配置安裝及服務(wù)驗(yàn)證等步驟,本文給大家介紹Ubuntu服務(wù)器已下載Nginx安裝包的安裝步驟,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • Nginx學(xué)習(xí)筆記之事件驅(qū)動(dòng)框架處理流程

    Nginx學(xué)習(xí)筆記之事件驅(qū)動(dòng)框架處理流程

    Nginx對(duì)請(qǐng)求的處理是通過(guò)事件觸發(fā)的,模塊作為事件消費(fèi)者,只能被事件收集、分發(fā)器調(diào)用。在Nginx中,接收到一個(gè)請(qǐng)求時(shí),不會(huì)產(chǎn)生一個(gè)單獨(dú)的進(jìn)程來(lái)處理該請(qǐng)求,而是由事件收集、分發(fā)器(進(jìn)程)調(diào)用某個(gè)模塊,由模塊處理請(qǐng)求,處理完后再返回到事件收集、分發(fā)器
    2014-07-07
  • 詳解Nginx配置文件

    詳解Nginx配置文件

    Nginx是lgor Sysoev為俄羅斯訪問(wèn)量第二的rambler.ru站點(diǎn)設(shè)計(jì)開發(fā)的,Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。這篇文章主要介紹了Nginx配置文件,需要的朋友參考下
    2017-01-01
  • Nginx服務(wù)器限制IP訪問(wèn)的各種情況全解析

    Nginx服務(wù)器限制IP訪問(wèn)的各種情況全解析

    這篇文章主要介紹了Nginx服務(wù)器限制IP訪問(wèn)的各種情況全解析,包括限制同一IP在一段時(shí)間內(nèi)的訪問(wèn)次數(shù)和全局限IP訪問(wèn)以及限制IP訪問(wèn)指定目錄等情況,需要的朋友可以參考下
    2015-08-08

最新評(píng)論

大连市| 东阿县| 肥西县| 习水县| 锦州市| 防城港市| 临漳县| 门头沟区| 周至县| 清河县| 湖北省| 大田县| 集安市| 渑池县| 嵊州市| 锦州市| 萝北县| 东阿县| 丁青县| 乐山市| 乌拉特后旗| 敦煌市| 黎川县| 宜阳县| 延庆县| 积石山| 兴城市| 辽阳县| 武强县| 石景山区| 收藏| 大化| 建瓯市| 德江县| 湘潭县| 伽师县| 松原市| 武山县| 柳林县| 勐海县| 米林县|