Nginx網(wǎng)站服務(wù)過程詳解
更新時間:2023年06月06日 10:50:42 作者:獅子跑了
Nginx是一款高性能、異步非阻塞工作模式、輕量級Web服務(wù)軟件,這篇文章主要介紹了Nginx網(wǎng)站服務(wù)的相關(guān)知識,需要的朋友可以參考下
一.關(guān)于Nginx的特點(diǎn)
- 一款高性能、異步非阻塞工作模式、輕量級Web服務(wù)軟件
- 穩(wěn)定性高
- 系統(tǒng)資源消耗低
- 對HTTP并發(fā)連接的處理能力高
- 單臺物理服務(wù)器可支持30000~50000個并發(fā)請求
二.編譯安裝nginx服務(wù)
1.關(guān)閉防火墻,將安裝nginx所需軟件包傳到/opt目錄下
systemctl stop firewalld systemctl disable firewalld setenforce 0 nginx-1.12.0.tar.gz
2.安裝依賴包
yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
3.創(chuàng)建運(yùn)行用戶、組(nginx服務(wù)程序默認(rèn)以 nobody 身份運(yùn)行,建議為其創(chuàng)建專門的用戶賬號,以便更準(zhǔn)確地控制其訪問權(quán)限)
useradd -M -s /sbin/nologin nginx
4.編譯安裝Nginx
cd /opt tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/ ./configure \ --prefix=/usr/local/nginx \ #指定nainx的安裝路徑 --user=nginx \ #指定用戶名 --group=nginx \ #指定組名 --with-http_stub status_module #啟用 http_stub_status_module 模塊以支持狀態(tài)統(tǒng)計
make && make install In -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #讓系統(tǒng)識別nginx的操作命令
5.檢查、啟動、重啟、停止 nginx服務(wù)
啟動
nginx nginx -t #開啟nginx服務(wù)一些方法 /usr/local/nginx/sbin/nginx
停止
cat /usr/local/nginx/logs/nginx.pid #查看nginx的PID號的幾種方法 netstat -lntp | grep nginx ss -lntp | grep nginx ps aux | grep nginx
kill -3 <PID號 kill -s QUIT <PID號> killall -3 nginx killall -s QUIT nqinx
重載
kill -l <PID號> kill -s HUP <PID號> killall -1 nginx killall -s HUP nginx
日志分割,重新打開日志文件
kill -USR1 <PID號>
平滑升級
kill -USR2 <PID號>
新版本升級
tar -zxvf nqinx-1.xx.xx.tar.gz cd nginx-1.xx.xx ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module \ --with-http_ssl_module make mv/usr/local/nqinx/sbin/nqinx/usr/local/nginx/sbin/nqinxold cp objs/nqinx /usr/local/nqinx/sbin/nginx make upgrade
6.添加Nginx系統(tǒng)服務(wù)
方法一
方法二
三.認(rèn)識Nginx服務(wù)的主配置文件 nginx.conf
1.全局配置
vim /usr/local/nginx/conf/nginx.conf
#user nobody; #運(yùn)行用戶,若編譯時未指定則默認(rèn)為nobody worker_processes 1; #工作進(jìn)程數(shù)量,一般設(shè)置為和cPu核數(shù)一樣;設(shè)置為auto,nginx將會自己獲取這個數(shù)值 #error_log logs/error.log; #錯誤曰志文件的位置 #pid logs/ nginx.pid; #PID 文件的位置 worker_rlinit_nofile 60000; #設(shè)置所有worker進(jìn)程最大可以打開的文件數(shù),默認(rèn)為1024
2.I/O 事件配置
use epoll; #使用epoll I/o模型,2.6及以上版本的系統(tǒng)內(nèi)核,建議使用epoll模型以提高性能 worker_connections 60000 ; #每個進(jìn)程處理60000個連接 multi_accept on; #是否一次性將監(jiān)聽到的連接全接收進(jìn)來,默認(rèn)為off,關(guān)閉時一次接收一條連接 accept_mutex on; #默認(rèn)為on,開啟時表示以串行方式接入新連接,否則將通報給所有worker。這可能會浪費(fèi)資源并產(chǎn)生不可預(yù)計的后果,例如驚群問題
3.HTTP 配置
vim /usr/local/nginx/conf/nginx.conf
4.server塊:配置虛擬主機(jī)的相關(guān)參數(shù),一個http 塊中可以有多個server塊;
5.location塊:用于配置匹配的 uri;
6.upstream:配置后端服務(wù)器具體地址,負(fù)載均衡配置不可或缺的部分
四.訪問狀態(tài)統(tǒng)計配置
1.查看已安裝的Nginx 是否包HTTP_STUB_STATUS 模塊
/usr/local/nginx/sbin/nginx -V cat /opt/nginx-1.12.2/auto/options | grep YES #可查看nginx已安裝的所有模塊
2.修改nginx.conf配置文件,指定訪問位置并添加stub_status 配置
cd /usr/local/nginx/conf cp nginx.conf nginx.conf.bak vim /usr/local/nginx/conf/nginx.conf location /status { stub status on; access log off; }
3.重啟服務(wù),訪問測試
systemctl daemon- reload systemctl restart nginx 瀏覽器訪問http://192.168.247.131/status curl -s http://192.168.247.131/status
到此這篇關(guān)于Nginx網(wǎng)站服務(wù)的文章就介紹到這了,更多相關(guān)Nginx網(wǎng)站服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx + php 搭建 超性能 WEB 服務(wù)器
Nginx ("engine x") 是一個高性能的 HTTP 和反向代理服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。2010-03-03Debian下搭建Nginx和Tomcat服務(wù)器實(shí)現(xiàn)負(fù)載均衡的方案
這篇文章主要介紹了Debian下搭建Nginx和Tomcat服務(wù)器實(shí)現(xiàn)負(fù)載均衡的方案,其主要思想依然是動靜分離并且以Nginx來進(jìn)行反向代理這樣的路子,需要的朋友可以參考下2015-12-12