nginx 安裝與公升級

2021-07-01 18:31:20 字數 3786 閱讀 4164

安裝原始碼nginx  搭建**伺服器

rpm -q gcc gcc-c

++ make

yum -y groupinstall "開發工具"

檢查80埠使用情況:

新增nginx使用者,不需要家目錄和使用者組:

useradd -s /sbin/noligin -m nginx

yum -y openssl-devel(需要openssl支援)

yum -y install pcre-devel(需要pcre支援)

安裝過程:

unzip

nginx

-package

.zip

cdnginx

-package

tar-

zxvf

nginx-0

.8.55

.tar.gz

cdnginx-0

.8.55

./configure--

help#檢視安裝引數

./configure--

prefix=/usr/local/nginx(安裝位置)--

(開啟ssl服務,許安裝openssl

(預設支援位址重寫,可不寫

,用於修改客戶端訪問自己的url路徑,http://ip/目錄名/檔案,用perl

+正規表示式匹配使用者訪問自己的url路徑)

make

make

install

成功安裝後生成的檔案目錄:

[root@pc205 nginx]# cd /usr/local/nginx/

conf 配置檔案 nginx.conf nginx.conf.default

html 網頁目錄

logs 日誌目錄 (訪問日誌 錯誤日誌 ***.pid)

access.log error.log nginx.pid

sbin 啟動服務 命令存放的目錄

啟動nginx:

[root@pc205 nginx]# /usr/local/nginx/sbin/nginx

檢視啟動情況:

welcome to nginx!./nginx 選項:

-s stop 關閉服務

-t 檢查預設配置檔案 nginx.conf 是否有語法錯誤

-v 檢視軟體版本

-v 檢視安裝時的配置資訊 ./configrue

-c ***.conf 啟動nginx時,指定載入的的配置檔案,要指定檔案的絕對路徑,預設載入 nginx.conf

以nginx-2.conf配置檔案啟動nginx:

[root@pc205 conf]# ../sbin/nginx -c /usr/local/nginx/conf/nginx-2.conf

通過殺程序或給程序傳送訊號的方式停止服務

pkill -9 nginx

kill -訊號 pid號

訊號 :

term, int 快速關閉 ,不理會有沒有正在進行的服務,強制關閉

kill   -int   `cat  /usr/local/nginx/logs/nginx.pid`
quit 從容關閉(不接受新服務,等待已連線服務結束後關閉),從容關 閉主程序順便強制關閉工作子程序

winch 從容關閉工作主程序,不會立即關閉子程序

hup 過載配置,用新的配置開始新的工作程序;從容關閉舊的工作程序,相當於重啟操作

kill   -hup   `cat  /usr/local/nginx/logs/nginx.pid`
usr1 重新開啟日誌檔案 ,公升級軟體版本時使用

usr2 平滑公升級可執行程式,公升級軟體版本時使用

配置nginx (vim nginx.conf):

worker_processes 1;#nginx啟動時,開啟的程序數,一般設定的數量與cpu核心數相同

events

#http容器{}作用域外是全域性配置

}}

精簡配置檔案**,刪除空行和注釋行:

grep -v '^$' nginx.conf.default   |  grep -v '#'  >  nginx-3.conf
檢視nginx啟動情況:

ps aux |grep –color nginx

平滑公升級nginx (nginx獨有的功能,公升級服務軟體版本時不用停止服務,公升級軟體跨度不能太大)

執行./configure 時,配置引數要和低版本一致 ,用 ./nginx -v檢視低版本安裝時的引數。

make#編譯後objs目錄下會生成nginx資料夾,這是高版本nginx啟動命令

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-old#備份舊版本nginx命令

cp objs/nginx /usr/local/nginx/sbin/#使用新版本的nginx命令取代舊版本nginx命令

make upgrade#公升級版本,實際執行命令如下所示:

/usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

kill -usr2 `cat /usr/local/nginx/logs/nginx.pid`

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -quit `cat /usr/local/nginx/logs/nginx.pid.oldbin`

nginx漏洞分析與公升級修復

nginx announce nginx安全公告 cve 2018 16843,cve 2018 16844 在nginx http 2實現中發現了兩個安全問題,漏洞對伺服器的影響 可能會導致過多的記憶體消耗 cve 2018 16843 和cpu使用率 cve 2018 16844 影響範圍 這些...

nginx的安裝公升級 常用配置(二)

訪問web頁面需要進行使用者認證 使用者名為 tom,密碼為 123456。模板配置檔案框架如下 usr local nginx conf nginx.conf 全域性配置 使用者名稱,日誌,程序 1 修改 usr local nginx conf nginx.conf root proxy vim...

nginx 負載均衡安裝及公升級步驟

先在1.1.1.1伺服器上為例安裝nginx 使用非root使用者安裝,比如 guest 安裝目錄暫時設定為 home guest nginxserver 使用guest使用者登入 cd home guest mkdir p nginxserver tar mkdir p nginxserver t...