LinuxCentos系統安裝Nginx過程記錄
網站服務
想必我們大多數人都是通過訪問網站而開始接觸互聯網的吧.我們平時訪問的網站服務就是Web網絡服務,一般是指允許用戶通過瀏覽器訪問到互聯網中各種資源的服務.
Web網絡服務是一種被動訪問的服務程序,即只有接收到互聯網中其他主機發出的請求後才會響應,最終用於提供服務程序的Web服務器會通過HTTP(超文本傳輸協議)或 HTTPS(安全超文本傳輸協議)把請求的內容傳送給用戶.
目前能夠提供Web網絡服務的程序有IIS、Nginx和Apache等.其中,IIS(Internet Information Services,互聯網信息服務)是Windows系統中默認的Web服務程序.
2004年10月4日,為俄羅斯知名門戶站點而開發的Web服務程序Nginx橫空出世.Nginx程序作為一款輕量級的網站服務軟件,因其穩定性和豐富的功能而快速占領服務器市場,但Nginx最被認可的還當是系統資源消耗低且並發能力強,因此得到了國內諸如新浪、網易、騰訊等門戶站的青睞.
Web服務器和Web框架的關系
Web服務器(nginx):接收HTTP請求並返回數據.
Web框架(django,flask):開發web應用程序,處理接收到的數據.
NGINX
nginx是一個開源的,支持高性能,高並發的www服務和代理服務軟件,安裝更為簡單,方便,靈活.它是一個俄羅斯人lgor sysoev開發的,作者將源代碼開源出來供全球使用.
nginx支持高並發,資源消耗少,在3萬並發連接下開啟10個nginx線程消耗的內存不到200M
nginx支持支持異步網絡i/o事件模型epoll
nginx不但是一個優秀的web服務軟件,還可以作為反向代理,負載均衡,以及緩存服務使用.
Tengine
Tengine是由淘寶網發起的Web服務器項目.它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性.Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗.它的最終目標是打造一個高效、穩定、安全、易用的Web平臺.
開始安裝
1.gcc安裝
安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:
yum install gcc-c++
2.PCRE pcre-devel安裝
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括perl兼容的正則表達式庫.nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫,pcre-devel是使用pcre開發的一個二次開發庫,nginx也需要此庫.
yum install -y pcre pcre-devel
3.zlib安裝
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在Centos上安裝zlib庫.
yum install -y zlib zlib-devel
4.OpenSSL安裝
OpenSSL是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用.
nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在Centos安裝OpenSSL庫.
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
5.下載源碼包
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
6.解壓縮源碼
tar -zxvf nginx-1.12.0.tar.gz
7.切換源碼目錄
[root@localhost opt]# cd nginx-1.12.0
8.配置,編譯安裝
./configure --prefix=/opt/nginx12/
make && make install
9.進入nginx的工作目錄
[root@localhost opt]# cd nginx12
10.啟動nginx,進入sbin目錄,找到nginx啟動命令.
./nginx #啟動
./nginx -s stop #關閉
./nginx -s reload #重新加載
11.安裝完成後檢測服務
[root@localhost sbin]# netstat -tunlp |grep 80
-bash: netstat: command not found
出現以上問題的解決方案:yum install net-tools
[root@localhost sbin]# netstat -tunlp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4011/nginx: master
12.nginx默認站點是Nginx目錄下的html文件夾,這裏可以從nginx.conf中查到
location / {
# 這裏是默認的站點html文件夾,也就是 /opt/nginx12/html/文件夾下的內容
root html;
# 站點首頁文件名是index.html
index index.html index.htm;
}
13.如果要部署網站業務數據,只需要把開發好的程序全放到html目錄下即可
14.通過ip訪問,即可訪問.
LinuxCentos系統安裝Nginx過程記錄