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