Nginx安裝與效能優化
NGINX 安裝
前提:完整的編譯環境 gcc g++ make 開發庫等
系統:Linux Ubuntu-server-12.04-64bit
核心:Linux 3.13.0-68-generic
apt-get install build-essential
apt-get install libtool
1.選定原始碼目錄
可以是任何目錄,本文選定的是/usr/local/src
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar -zxvf pcre-8.37 .tar.gz
cd pcre-8.37
./configure
make
sudo make install
cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
sudo make install
4.安裝ssl(某些vps預設沒裝ssl)
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.2d.tar.gz
tar -zxvf openssl- 1.0.2d.tar.gz
cd openssl-1.0.2d
./config --prefix=/usr/local --openssldir=/usr/local/ssl
make
sudo make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make
sudo make install
5.安裝nginx
Nginx 一般有兩個版本,分別是穩定版和開發版,您可以根據您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細步驟:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.9.6.tar.gz
tar -zxvf nginx-1.9.6.tar.gz
cd nginx-1.9.6
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-stream \
--with-pcre=/usr/local/src/pcre-8.37 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.0.2d
make
sudo make install
–with-stream 用於啟用支援TCP
–with-pcre=/usr/src/pcre-8.37 指的是pcre-8.37 的原始碼路徑。
–with-zlib=/usr/src/zlib-1.2.8 指的是zlib-1.2.8 的原始碼路徑。
6.啟動
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
開啟瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝並執行成功
NGINX 解除安裝
apt解除安裝nginx方法(僅限於使用apt-get install 安裝的Nginx)
解除安裝方法1.
刪除nginx,保留配置檔案
sudo apt-get remove nginx
刪除配置檔案
rm -rf /etc/nginx
解除安裝方法2.
刪除nginx連帶配置檔案
sudo apt-get purge nginx # Removes everything.
解除安裝不再需要的nginx依賴程式
sudo apt-get autoremove
NGINX Configuration
以下配置檔案適用於 Nginx TCP 負載均衡
user root root;
#nginx程序數,建議按照cpu數目來指定,一般為它的倍數。
worker_processes 4;
#為每個程序分配cpu,上例中將8個程序分配到8個cpu,當然可以寫多個,或者將一個程序分配到多個cpu。
worker_cpu_affinity 00010000 00100000 01000000 10000000;
error_log /usr/local/nginx/logs/error.log;
error_log /usr/local/nginx/logs/error.log notice;
error_log /usr/local/nginx/logs/error.log info;
#pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 204800;
#use epoll 使用epoll的I/O模型。
#worker_connections 每個程序允許的最多連線數
events {
use epoll;
worker_connections 204800;
}
stream {
upstream backend {
server 192.168.90.3:1883 max_fails=3 fail_timeout=30s;
server 192.168.90.5:1883 max_fails=3 fail_timeout=30s;
server 192.168.90.197:1883 max_fails=3 fail_timeout=30s;
}
server {
listen 192.168.90.5:29535;
proxy_connect_timeout 1s;
#proxy_timeout 3s;
proxy_pass backend;
}
}
Nginx 啟動、停止、平滑啟動、平滑升級
1.Nginx 啟動
啟動nginx,可以執行一下命令(預設安裝位置):
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
// 引數“-c”指定了配置檔案的路徑,如果不加,則Nginx會預設載入其安裝目錄的conf子目錄中的ngin.conf
2.Nginx 停止
nginx的停止方法有很多種,一般是傳送系統訊號給nginx主程序來停止nginx。我們通過ps命令來查詢nginx的主程序號
ps -ef |grep nginx
備註資訊為“master process”它表示主程序。為“worker”的是子程序。
如果在nginx.conf中指定了pid檔案存放路徑,則該檔案存放的就是nginx的主程序號。
如果沒有指定,則預設存放在Nginx安裝目錄的log目錄下。所以我們還可以這樣做:
kill -訊號型別 ‘/usr/local/nginx/logs/nginx.pid’
nginx支援以下幾種訊號:
TERM,INT :快速關閉
QUIT:從容關閉
HUP:平滑啟動
USR1:重新開啟日誌檔案
USR2:平滑升級可執行程式
EINCH:從容關閉工作程序
(1)從容停止nginx
kill -QUIT Nginx主程序號
(2)快速停止Nginx
kill -TERM Nginx主程序號
(3)強制停止所有nginx程序
pkill -9 Nginx主程序號
3.Nginx 平滑啟動/Nginx 重載入
如果改變了配置檔案,想重啟讓其生效,同樣可以通過傳送系統訊號給Nginx主程序。
不過,在重啟之前,要確認配置檔案的語法是正確的,否則將不會載入新的配置項。
通過以下語句測試配置檔案語法是否正確:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
// 其中-t表示測試,並不真正執行。
然後,通過以下命令重載入Nginx配置:
kill -HUP master程序號
執行上面命令之後,Nginx執行新的工作程序,舊工作程序繼續為已有的連線服務,等所有舊的連線成功後,舊的工作程序才被關閉。
4.Nginx 平滑升級
當需要將正在執行的nginx升級、新增/刪除伺服器模組時,可以在不中斷的情況下使用新版本、重編譯的nginx可執行程式替換舊版本的可執行程式。步驟如下:
(1)備份舊的可執行程式
(2)傳送以下指令
kill -USR2 舊的版本nginx主程序號
(3)舊版本的nginx的主程序將重新命名他的pid檔案為.oldbin。然後執行新版本的nginx可執行程式。依次啟動新的主程序和新的工作程序。
(4)此時新舊版本的nginx會同時執行,共同處理輸入請求。要逐步停止舊版本的nginx例項,需要傳送WINCH訊號給舊的主程序,然後他的工作程序就從容關閉:
kill -WINCH 舊版本的主程序號
(5)一段時間後,舊的工作程序處理完所有的已連線請求後退出,僅有新的工作程序來處理輸入請求。
(6)這時候我們可以決定是使用新的版本還是恢復到舊版本。
5.Nginx 啟動指令碼
#!/bin/sh
# chkconfig: 2345 85 15
# description:Nginx Server
NGINX_HOME=/usr/local/nginx
NGINX_SBIN=$NGINX_HOME/sbin/nginx
NGINX_CONF=$NGINX_HOME/conf/nginx.conf
NGINX_PID=$NGINX_HOME/logs/nginx.pid
NGINX_NAME="Nginx"
. /etc/rc.d/init.d/functions
if [ ! -f $NGINX_SBIN ]
then
echo "$NGINX_NAME startup: $NGINX_SBIN not exists! "
exit
fi
start() {
$NGINX_SBIN -c $NGINX_CONF
ret=$?
if [ $ret -eq 0 ]; then
action $"Starting $NGINX_NAME: " /bin/true
else
action $"Starting $NGINX_NAME: " /bin/false
fi
}
stop() {
kill `cat $NGINX_PID`
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $NGINX_NAME: " /bin/true
else
action $"Stopping $NGINX_NAME: " /bin/false
fi
}
restart() {
stop
start
}
check() {
$NGINX_SBIN -c $NGINX_CONF -t
}
reload() {
kill -HUP `cat $NGINX_PID` && echo "reload success!"
}
relog() {
kill -USR1 `cat $NGINX_PID` && echo "relog success!"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
check|chk)
check
;;
status)
status -p $NGINX_PID
;;
reload)
reload
;;
relog)
relog
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status|check|relog}"
exit 1
esac
上面是nginx的啟動指令碼,只要把它拷貝至/etc/init.d目錄下,就可以通過service nginx start等目錄操作nginx。
相關推薦
Nginx安裝與效能優化
NGINX 安裝 前提:完整的編譯環境 gcc g++ make 開發庫等 系統:Linux Ubuntu-server-12.04-64bit 核心:Linux 3.13.0-68-generic apt-get install build-esse
nginx安全與效能優化(上部)
Nginx——Ngine X,是一款自由的、開源的、高效能HTTP伺服器和反向代理伺服器;也是一個IMAP、POP3、SMTP代理伺服器;也就是說Nginx本身就可以託管網站(類似於Tomcat一樣),進行Http服務處理,也可以作為反向代理伺服器使用。 Nginx 解
Tomcat8安裝, 安全配置與效能優化
為了便於檔案管理,個人習慣 在/opt目錄下建立 一個install目錄用於存放 軟體安裝包,在/usr 目錄下建立local資料夾使用者存放解壓檔案 下載安裝包: wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.32/bin/apache-tomc
【最全】Nginx安裝與優化
Nginx安裝 一、 安裝依賴包 1. Ubuntu平臺 安裝gcc g++的依賴庫 apt-get install build-essential apt-get install libtool 安裝 pcre依賴庫 cd /usr
Nginx安裝與使用
表示 cli 3.1 replace 需要 網站 pop emp 文字 Nginx安裝與使用 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所
mac終端nginx安裝與操作
與操作 終端 use ins 啟動 強制 highlight 進程 class nginx安裝命令 安裝Homebrew:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install
Linux中Nginx安裝與配置詳解
cpan .net 語言 roo disable 方便 sbin wget 一個 安裝所需環境 Nginx 是 C語言 開發,建議在 Linux 上運行,當然,也可以安裝 Windows 版本,本篇則使用 CentOS 7 作為安裝環境。 上網配置: 如果安裝了cen
Nginx安裝與配置:默認虛擬主機、用戶認證和域名重定向
Nginx安裝 虛擬主機 重定向 用戶認證 一、Nginx安裝 1、下載並解壓安裝包 [root@zhulinux-02 ~]# cd /usr/local/src/ [root@zhulinux-02 src]# wget http://nginx.org/download/nginx-1.
Nginx安裝與配置
.exe http tps 下載安裝 nbsp 下界 win pan org 本篇只介紹在window環境下的安裝和配置 1.首先訪問Nginx官網 https://nginx.org/ 下載安裝包: 2.解壓到相應的目錄,比如我是d盤 然後修改目錄名字為nginx,進
Nginx安裝與升級 Nginx服務器 Nginx虛擬主機 、 HTTPS加密網站
fault 用戶 cli cipher pat 案例 fir 服務器 算法 案例1:搭建Nginx服務器案例2:用戶認證案例3:基於域名的虛擬主機案例4:SSL虛擬主機1 案例1:搭建Nginx服務器1.1 問題 在IP地址為192.168.4.5的主機上安裝部署Nginx
nginx安裝與掛載
分享 ref .com 新硬盤 def defaults net 圖片 .html Linux下添加新硬盤,分區及掛載 http://blog.chinaunix.net/uid-25829053-id-3067619.html vim /etc/fstab /de
centos 6.x和7.x 下nginx安裝與配置
一、安裝gcc(命令:yum install gcc) 備註:可以輸入gcc -v 查詢版本資訊,看系統是否自帶安裝 二、安裝pcre(命令: yum install pcre-devel) 三、安裝zlib 四、安裝openssl 綜合命令: yum -y inst
nginx監控與效能調優
監控 nginx有自帶的監控模組,編譯nginx的時候,加上引數 --with-http_stub_status_module #配置指令 ./configure --prefix=/usr/local --user=nginx --group=nginx
Nginx安裝與架構說明
一 安裝環境準備 1.linux 核心2.6及以上版本: 只有2.6之後才支援epool ,在此之前使用select或pool多路複用的IO模型,無法解決高併發壓力的問題。通過命令uname -a 即可檢視。 #檢視 linux 核心 uname -a 2.GCC編譯器
1102_Centos下 Nginx安裝與配置
Centos下 Nginx安裝與配置 Nginx是一款輕量級的網頁伺服器、反向代理伺服器。相較於Apache、lighttpd具有佔有記憶體少,穩定性高等優勢。它最常的用途是提供反向代理服務。 安裝 在Centos下,yum源不提供nginx的安裝,可以通過切換yum源的方法獲取安裝
Nginx安裝與升級
升級 新版本 lte useradd 進行 quit efi 後端 pst Nginx WEB服務器最主要就是各種模塊的工作,模塊從結構上分為核心模塊、基礎模塊和第三方模塊,其中三類模塊分別如下: 核心模塊:HTTP模塊、EVENT模塊和MAIL模塊等;
Centos7.3和Samba4.7安裝和效能優化
Centos7.3和Samba4.7安裝 1.系統環境: 系統:Centos 7.3.1611 x64位 服務版本:samba-4.7.1、samba-client-4.7.1 2.Samba 簡介 Samba 是在Linux和UNIX系統
基於 Nginx 的 HTTPS 效能優化實踐
前言 分享一個卓見雲的較多客戶遇到HTTPS優化案例。 隨著相關瀏覽器對HTTP協議的“不安全”、紅色頁面警告等嚴格措施的出臺,以及向 iOS 應用的 ATS 要求和微信、支付寶小程式強制 HTTPS 需求,以及在合規方面如等級保護對傳輸安全性的要求都在推動 HTTPS 的發展。 雖然 HTTPS 優化
基於 Nginx 的 HTTPS 效能優化
前言 分享一個卓見雲的較多客戶遇到HTTPS優化案例。 隨著相關瀏覽器對HTTP協議的“不安全”、紅色頁面警告等嚴格措施的出臺,以及向 iOS 應用的 ATS 要求和微信、支付寶小程式強制 HTTPS 需求,以及在合規方面如等級保護對傳輸安全性的要求都在推動 HTTPS 的發展。 雖然 HTTPS 優化
前端階段性總結(二):頁面渲染機制與效能優化
引言: 轉前端一年了,期間工作較忙,也沒時間整理一些知識體系,此係列文章是對前端基礎的一些回顧與總結。本文主要介紹瀏覽器工作的原理以及一些優化手段。 一、瀏覽器渲染過程 1. 瀏覽器的主要結構: 2. 瀏覽器的多程序模型: 以chorme為例: Browser