一、概念
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,供俄國大型的入口網站及搜索引擎Rambler(俄文:Рамблер)使用。其特點是佔有內存少,併發能力強,官方測試nginx能夠支支撐5萬併發鏈接,並且cpu、內存等資源消耗卻非常低,運行非常穩定。事實上nginx的併發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊等。
二、應用場景
1、http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態服務器。
2、虛擬主機。可以實現在一臺服務器虛擬出多個網站。例如個人網站使用的虛擬主機。
3、反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集羣可以使用nginx做反向代理。並且多臺服務器可以平均分擔負載,不會因爲某臺服務器負載高宕機而某臺服務器閒置的情況。
三、安裝步驟
1、準備
a.Linux環境,上一篇博客已經講過,但是實踐證明在CentOS7下安裝nginx後,系統啓動一直是黑屏狀態,所以把系統換成了CentOS6.8,可能是不兼容,具體爲啥我也不太清楚。
b.下載nginx,進入http://nginx.org/en/download.html下載,我下載的是最新的:
2、先安裝nginx依賴的包:
在Linux系統的終端下運行如下命令,或者用Xshell連接自己的Linux系統,在Xshell中運行如下命令:
a.gcc:安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc。
命令:yum install gcc-c++
b.PCRE:PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。(注意install空格-y)
命令:yum install -y pcre pcre-devel
c.zlib:zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
命令:yum install -y zlib zlib-devel
d.openssl:OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。
命令:yum install -y openssl openssl-devel
注意:如果出現另外一個程序鎖定yum的問題:su kill掉該程序的pid即可
3、安裝步驟
a.把nginx的源碼上傳到linux系統
如何把本地文件傳輸到Linux系統,可以通過改變Xshell連接會話的屬性實現,將連接的Linux會話協議改成SFTP(安全文件傳送協議):
然後將文件直接拖進命令框即可,記得上傳完成後,將協議還改回SSH。
文件上傳成功:
b.把nginx壓縮包解壓
命令:tar -zxvf nginx-1.11.10.tar.gz
c.進行configure
複製全部命令,並執行:
./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
注意:上邊將臨時文件目錄指定爲/var/temp/nginx,需要在/var下創建temp及nginx目錄,創建文件目錄的命令:mkdir temp(temp爲文件名)。
d.輸入命令:make,開始編譯
e.輸入命令:make install,開始安裝
這樣nginx就安裝成功了:
4、nginx的啓動、停止
a.啓動:進入nginx的sbin目錄,輸入命令:./nginx,啓動:
b.在瀏覽器中訪問:
注意:如果本地計算機訪問不到,需要關閉Linux的防火牆,關閉後重新訪問就可以了,關閉防火牆命令:service iptables stop
d.關閉nginx
可以使用kill命令,kill+進程號,關閉nginx,但是不推薦使用。
推薦使用命令:./nginx -s stop
刷新配置:./nginx -s reload
【小結】
第一次在Linux上操作安裝,一步步挺有意思的,各種命令記是記不住的,還是需要多多使用,熟能生巧。