轉(zhuǎn)自Centos7安裝Nginx實戰(zhàn)
Centos7安裝Nginx實戰(zhàn)
一溶弟、背景
最近在寫一些自己的項目沙廉,用到了nginx扶叉,所以自己動手來在Centos7上安裝nginx,以下是安裝步驟嗓节。
二荧缘、基本概念以及應(yīng)用場景
1.什么是nginx
Nginx是一款使用C語言開發(fā)的高性能的http 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器。由俄羅斯的程序設(shè)計師Igor Sysoev所開發(fā)拦宣,官方測試nginx能夠支支撐5萬并發(fā)鏈接截粗,并且cpu、內(nèi)存等資源消耗卻非常低恢着,運行非常穩(wěn)定桐愉。
2.Nginx的應(yīng)用場景
1).http服務(wù)器财破。Nginx是一個http服務(wù)可以獨立提供http服務(wù)掰派。可以做網(wǎng)頁靜態(tài)服務(wù)器左痢。
2).虛擬主機靡羡。可以實現(xiàn)在一臺服務(wù)器虛擬出多個網(wǎng)站俊性。例如個人網(wǎng)站使用的虛擬主機略步。
3).反向代理,負載均衡定页。當(dāng)網(wǎng)站的訪問量達到一定程度后趟薄,單臺服務(wù)器不能滿足用戶的請求時,需要用多臺服務(wù)器集群可以使用nginx做反向代理典徊。并且多臺服務(wù)器可以平均分擔(dān)負載杭煎,不會因為某臺服務(wù)器負載高宕機而某臺服務(wù)器閑置的情況恩够。
三、安裝步驟
1.檢查并安裝所需的依賴軟件
1).gcc:nginx編譯依賴gcc環(huán)境
安裝命令:yum install gcc-c++
2).pcre:(Perl Compatible Regular Expressions)是一個Perl庫羡铲,包括 perl 兼容的正則表達式庫蜂桶。nginx的http模塊使用pcre來解析正則表達式.
安裝命令:yum install -y pcre pcre-devel
3).zlib:該庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內(nèi)容進行g(shù)zip也切。
安裝命令:yum install -y zlib zlib-devel
4).openssl:一個強大的安全套接字層密碼庫扑媚,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議雷恃,并提供豐富的應(yīng)用程序供測試或其它目的使用疆股。nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http).
安裝命令:yum install -y openssl openssl-devel
2.下載nginx源碼包
下載命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz
3.解壓縮源碼包并進入
1).解壓縮:tar -zxvf nginx-1.12.0.tar.gz
2).進入解壓縮后文件夾:cd nginx-1.12.0
4.配置編譯參數(shù)命令:(可以使用./configure --help查詢詳細參數(shù))
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注:安裝之前需要手動創(chuàng)建上面指定的nginx文件夾倒槐,即/var/temp押桃、/var/temp/nginx、/var/run/nginx/文件夾导犹,否則啟動時報錯
5.編譯并安裝
命令:make && make install
可以進入/usr/local/nginx查看文件是否存在conf唱凯、sbin、html文件夾谎痢,若存在則安裝成功
四磕昼、基本使用
1.啟動nginx
1).進入安裝目錄
cd /usr/local/nginx/sbin/
2).啟動
./nginx
3).若報錯:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
需要查看下是不是在/var/run文件夾下不存在nginx文件夾,不存在則新建
4).查看是否啟動:ps -ef | grep nginx
如果有master和worker兩個進程證明啟動成功
注意:執(zhí)行./nginx啟動nginx节猿,這里可以-c指定加載的nginx配置文件票从,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在啟動時默認(rèn)加載conf/nginx.conf文件滨嘱,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(shù)(--conf-path= 指向配置文件(nginx.conf))
2.停止
1).暴利kill(不推薦使用)
kill -9 processId
2).快速停止
cd /usr/local/nginx/sbin && ./nginx -s stop
此方式相當(dāng)于先查出nginx進程id再使用kill命令強制殺掉進程
3).完整停止(建議使用)
cd /usr/local/nginx/sbin && ./nginx -s quit
此方式停止步驟是待nginx進程處理任務(wù)完畢進行停止
3.重啟及重新加載配置
1.先停止再啟動(建議使用)
./nginx -s quit && ./nginx
2.重新加載配置文件
./nginx -s reload
4.測試
nginx安裝成功峰鄙,啟動nginx,即可通過ip地址來訪問nginx: