-
內容簡介
此篇文章簡單的介紹了什么是nginx以及nginx的簡單使用,nginx現在使用非常的廣泛,值得去了解學習。此處只是簡單的記錄一下,更詳細的操作步驟可以參考網上資料,僅供參考。希望對路過的你有幫助_
-
nginx介紹
1.什么是nginx
Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。由俄羅斯的程序設計師Igor Sysoev所開發,官方測試nginx能夠支支撐5萬并發鏈接,并且cpu、內存等資源消耗卻非常低,運行非常穩定。
2.應用場景
1、http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態服務器。
2、虛擬主機。可以實現在一臺服務器虛擬出多個網站。例如個人網站使用的虛擬主機。
3.反向代理,負載均衡。當網站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群可以使用nginx做反向代理。并且多臺服務器可以平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況
-
nginx安裝
1.準備工作
nginx是C語言開發,安裝包中只有源代碼,需要手動編譯,因此在linux上安裝時需要C語言的運行環境以及一些別的庫,所以需要一下的準備工作:
* nginx安裝包下載 http://nginx.org/ * 安裝gcc的環境 yum install gcc-c++ # 安裝pcre庫 yum install -y pcre pcre-devel # 安裝zlib庫 yum install -y zlib zlib-devel # 安裝openssl庫 yum install -y openssl openssl-devel
執行yum命令時可能會報無法找到鏡像的錯誤
1.首先查看是否能正確連網,可以通過ping外網的方式測試 2.再能正常連網的情況下,配置DNS服務,vi /etc/resolv.conf 在最后添加 nameserver 8.8.8.8 nameserver 8.8.4.4 search localdomain 3.重啟網絡服務: service network restart 即可
2.安裝步驟
把nginx的源碼包上傳到linux系統,解壓縮
進入nginx目錄,有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 * 注釋 prefix=/usr/local/nginx -安裝目錄 /var/temp/nginx/client - 臨時文件目錄,需要手動創建 mkdir /var/temp/nginx/client -p
創建makeFile文件(如果有則無需創建) -> make(編譯) -> make install(安裝)
安裝成功后,去對應目錄查看,此處在/usr/local/nginx ,進入sbin,執行 ./nginx ,如果提示XXX目錄不存在,則創建該目錄即可,此處是安裝時應用到的目錄未創建的原因
-
.執行./nginx,通過查看進程判斷是否正常啟動,需要同時具備兩個nginx進程才表示正常啟動
nginx-ps -
直接通過IP訪問nginx,默認是80端口。需要注意是否關閉防火墻。如下圖,即表示nginx安裝并且啟動成功
nginx-succ 相關操作命令
# 啟動 ./nginx # 停止nginx sbin/nginx -s stop 或者 sbin/nginx -s quit # 刷新配置文件,平滑重啟 sbin/nginx -s reload
3.配置虛擬主機
含義:一臺服務器啟動多個網站,就是把一臺物理服務器劃分成多個“虛擬”的服務器,每一個虛擬主機都可以有獨立的域名和獨立的目錄
配置虛擬主機就是通過修改配置Nginx的配置文件:vi /usr/local/nginx/conf/nginx.conf 中的server節點,一個server節點對應一個虛擬主機
通過端口區分
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { # 對應nginx安裝目錄下的HTML目錄 root html; index index.html index.htm; } } server { listen 81; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { # 可以復制一個目錄,修改index.html中的內容,進行區分 root html-81; index index.html index.htm; } }
重啟 sbin/nginx -s reload ,訪問IP+端口,觀察效果
通過域名區分虛擬主機
什么是域名? littledragon.cn 就是域名哦,親;可以網上查找相關知識
本地測試可以修改hosts文件。修改window的hosts文件:(C:\Windows\System32\drivers\etc)可以配置域名和ip的映射關系,如果hosts文件中配置了域名和ip的對應關系,不需要走dns服務器,可以進行直接映射
192.168.XX.100 littledragon.cn 192.168.XX.100 www.baidu.com
- 通過域名區分
server { listen 80; server_name littledragon.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { root html-taobao; index index.html index.htm; } } server { listen 80; server_name www.baidu.com; #charset koi8-r; #access_log logs/host.access.log main; location / { root html-baidu; index index.html index.htm; } }
4.反向代理
兩個域名指向同一臺nginx服務器,用戶訪問不同的域名顯示不同的網頁內容,詳細解釋可以網上參考其他資料
此處模擬測試的域名采用:www.sian.com.cn和www.sohu.com,需要在host文件中配置本地映射
安裝兩個tomcat,分別運行在8080和8081端口,啟動(可以將兩個顯示內容加以區分,使效果明顯)
反向代理服務器的配置
upstream tomcat1 { server 192.168.XX.100:8080; } server { listen 80; server_name www.sina.com.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat1; index index.html index.htm; } } upstream tomcat2 { server 192.168.XX.100:8081; } server { listen 80; server_name www.sohu.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://tomcat2; index index.html index.htm; } }
- 重啟nginx,依次通過瀏覽器訪問兩個域名,查看效果
5.負載均衡
- 如果一個服務由多條服務器提供,需要把負載分配到不同的服務器處理,需要負載均衡,可以根據服務器的實際情況調整服務器權重。權重越高分配的請求越多,權重越低,請求越少。默認是都是1
upstream tomcat2 { server 192.168.25.148:8081; server 192.168.25.148:8082 weight=2; }
6.高可用(簡介)
1.keepalived + nginx
2.主nginx 和 備nginx 都安裝keepalive,并且都是用一個VIP(虛擬IP)
3.備nginx 會一直向主nginx發送心跳包檢測主機是否正常運行
4.主機宕機后,備nginx綁定VIP,繼續運行
5.主機回復后,取回VIP
-
結語
簡答介紹了nginx相關的一些內容,如果需要更詳細的資料可以去網上或者官網查看,此處只是簡單作為記錄的作用,希望對路過的你有幫助_
本文作者: little-dragon
個人博客: http://littledragon.cn
版權聲明: 原創文章,有問題請評論中留言。非商業轉載請注明作者及出處。