Linux基础学习六:Nginx的使用教程
Nginx (發音:engine x) 是一個高性能的HTTP和反向代理web服務器。它有2個常見的應用場景:
-
反向代理Tomcat集群并實現負載均衡
-
充當靜態資源(html、js、css、圖片)服務器
?Nginx的安裝
下載并安裝nginx的yum源
[root@localhost bin]# wget -P /tmp http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ? [root@localhost bin]# cd /tmp [root@localhost tmp]# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm使用yum安裝nginx
[root@localhost tmp]# yum install -y nginx啟動nginx
[root@localhost tmp]# systemctl start nginx [root@localhost tmp]# systemctl status nginx ● nginx.service - nginx - high performance web serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since 五 2020-05-29 02:23:00 CST; 6s agoDocs: http://nginx.org/en/docs/Process: 40706 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)Main PID: 40707 (nginx)CGroup: /system.slice/nginx.service├─40707 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf└─40708 nginx: worker process關閉防火墻和selinux
[root@localhost tmp]# systemctl stop firewalld 關閉防火墻開機自啟動 systemctl disable firewalld ? [root@localhost tmp]# getenforce [root@localhost tmp]# setenforce 0 ? 永久關閉selinux:編輯 vi /etc/selinux/config SELINUX=disabled訪問
http://ip:80
nginx默認占用80端口
注意:如果nginx訪問出錯,可以查看 /var/log/nginx/error.log 文件獲取錯誤日志
?反向代理
代理其實就是一個中介,A和B本來可以直連,中間插入一個C,A借助C和B連接,C就是代理。剛開始的時候,代理多數是幫助client訪問server端,也就是正向代理。后來又有了幫助server端響應client請求的反向代理。
正向代理
正向代理用在client無法直接訪問server端時。可以為client配置一個能訪問server的代理,當client發送對server的請求時,實際上由代理發起對server的請求。
? ? 特點:
-
代理的是client
-
雖不直接建立連接,但server對client是可見的
-
client訪問時,直接輸入server的地址。
反向代理
反向代理常用于需要向client屏蔽server端的復雜設計時。
特點:
代理的是server端
server端對client是透明的不可見的
client訪問時,輸入的是代理的地址
Tomcat集群:
當接收大量的請求時,單一服務器終究無法滿足需要處理的負荷量。可以組建多臺Tomcat服務器提供相同的服務,均衡負載分攤請求,提高系統的擴展性和高可用性。
集群可以提高應用性能,但是增加了服務端設計的復雜性,解決方案:nginx的反向代理。
Nginx反向代理Tomcat集群:
克隆3臺虛擬機,分別啟動tomcat搭建集群
配置 /etc/nginx/conf.d/default.conf啟動nginx
3.啟動nginx
通過nginx可以訪問到tomcat集群中的服務。?
vi /etc/sysconfig/network-scripts/ifcfg-ens33
?負載均衡
負載均衡(Load balancing),意思是將負載(工作任務,訪問請求)進行平衡,用來在多個計算機(計算機集群)中分配負載,以達到集群系統整體的最優化資源使用、最大化吞吐率、最小化響應時間、同時避免過載的目的。
Nginx的負載均衡策略:
輪詢(默認)
-
優點:實現簡單
-
缺點:不考慮每臺服務器的處理能力
-
配置示例如下:
upstream 集群名 { # 需要負載的server列表 server ip1:port; server ip2:port; server ip3:port; }
權重(使用較多)
-
優點:考慮了每臺服務器處理能力的不同,哪臺機器性能高就給哪臺機器的權重高一些
-
配置示例如下:
upstream 集群名 { # 需要負載的server列表,weight表示權重 server ip1:port weight=1; server ip2:port weight=2; server ip3:port weight=4; }
ip hash
-
優點:能實現同一個用戶始終訪問同一個服務器
-
缺點:根據 ip hash 不一定平均
-
配置示例如下:
upstream 集群名 { ip_hash; # 需要負載的server列表 server ip1:port; server ip2:port; server ip3:port; }
?靜態資源服務器(了解)
傳統的web項目,一般都將靜態資源存放在web應用中,這樣做很方便獲取靜態資源。但是當web項目很大,用戶很多,靜態資源也很多時,應用服務器的性能就會很低下了。這種情況下一般都會需要一個靜態資源的服務器。
Nginx作為靜態資源服務器的搭建過程:
在linux服務器中創建文件夾,并上傳靜態資源
示例: mkdir -p /var/static編輯 /etc/nginx/conf.d/default.conf
總結
以上是生活随笔為你收集整理的Linux基础学习六:Nginx的使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux essid 异常,Linux
- 下一篇: centos linux引导修复_【Li