Linux基础学习六:Nginx的使用教程
Nginx (發(fā)音:engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器。它有2個(gè)常見(jiàn)的應(yīng)用場(chǎng)景:
-
反向代理Tomcat集群并實(shí)現(xiàn)負(fù)載均衡
-
充當(dāng)靜態(tài)資源(html、js、css、圖片)服務(wù)器
?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啟動(dòng)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關(guān)閉防火墻和selinux
[root@localhost tmp]# systemctl stop firewalld 關(guān)閉防火墻開(kāi)機(jī)自啟動(dòng) systemctl disable firewalld ? [root@localhost tmp]# getenforce [root@localhost tmp]# setenforce 0 ? 永久關(guān)閉selinux:編輯 vi /etc/selinux/config SELINUX=disabled訪問(wèn)
http://ip:80
nginx默認(rèn)占用80端口
注意:如果nginx訪問(wèn)出錯(cuò),可以查看 /var/log/nginx/error.log 文件獲取錯(cuò)誤日志
?反向代理
代理其實(shí)就是一個(gè)中介,A和B本來(lái)可以直連,中間插入一個(gè)C,A借助C和B連接,C就是代理。剛開(kāi)始的時(shí)候,代理多數(shù)是幫助client訪問(wèn)server端,也就是正向代理。后來(lái)又有了幫助server端響應(yīng)client請(qǐng)求的反向代理。
正向代理
正向代理用在client無(wú)法直接訪問(wèn)server端時(shí)??梢詾閏lient配置一個(gè)能訪問(wèn)server的代理,當(dāng)client發(fā)送對(duì)server的請(qǐng)求時(shí),實(shí)際上由代理發(fā)起對(duì)server的請(qǐng)求。
? ? 特點(diǎn):
-
代理的是client
-
雖不直接建立連接,但server對(duì)client是可見(jiàn)的
-
client訪問(wèn)時(shí),直接輸入server的地址。
反向代理
反向代理常用于需要向client屏蔽server端的復(fù)雜設(shè)計(jì)時(shí)。
特點(diǎn):
代理的是server端
server端對(duì)client是透明的不可見(jiàn)的
client訪問(wèn)時(shí),輸入的是代理的地址
Tomcat集群:
當(dāng)接收大量的請(qǐng)求時(shí),單一服務(wù)器終究無(wú)法滿足需要處理的負(fù)荷量??梢越M建多臺(tái)Tomcat服務(wù)器提供相同的服務(wù),均衡負(fù)載分?jǐn)傉?qǐng)求,提高系統(tǒng)的擴(kuò)展性和高可用性。
集群可以提高應(yīng)用性能,但是增加了服務(wù)端設(shè)計(jì)的復(fù)雜性,解決方案:nginx的反向代理。
Nginx反向代理Tomcat集群:
克隆3臺(tái)虛擬機(jī),分別啟動(dòng)tomcat搭建集群
配置 /etc/nginx/conf.d/default.conf啟動(dòng)nginx
3.啟動(dòng)nginx
通過(guò)nginx可以訪問(wèn)到tomcat集群中的服務(wù)。?
vi /etc/sysconfig/network-scripts/ifcfg-ens33
?負(fù)載均衡
負(fù)載均衡(Load balancing),意思是將負(fù)載(工作任務(wù),訪問(wèn)請(qǐng)求)進(jìn)行平衡,用來(lái)在多個(gè)計(jì)算機(jī)(計(jì)算機(jī)集群)中分配負(fù)載,以達(dá)到集群系統(tǒng)整體的最優(yōu)化資源使用、最大化吞吐率、最小化響應(yīng)時(shí)間、同時(shí)避免過(guò)載的目的。
Nginx的負(fù)載均衡策略:
輪詢(默認(rèn))
-
優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單
-
缺點(diǎn):不考慮每臺(tái)服務(wù)器的處理能力
-
配置示例如下:
upstream 集群名 { # 需要負(fù)載的server列表 server ip1:port; server ip2:port; server ip3:port; }
權(quán)重(使用較多)
-
優(yōu)點(diǎn):考慮了每臺(tái)服務(wù)器處理能力的不同,哪臺(tái)機(jī)器性能高就給哪臺(tái)機(jī)器的權(quán)重高一些
-
配置示例如下:
upstream 集群名 { # 需要負(fù)載的server列表,weight表示權(quán)重 server ip1:port weight=1; server ip2:port weight=2; server ip3:port weight=4; }
ip hash
-
優(yōu)點(diǎn):能實(shí)現(xiàn)同一個(gè)用戶始終訪問(wèn)同一個(gè)服務(wù)器
-
缺點(diǎn):根據(jù) ip hash 不一定平均
-
配置示例如下:
upstream 集群名 { ip_hash; # 需要負(fù)載的server列表 server ip1:port; server ip2:port; server ip3:port; }
?靜態(tài)資源服務(wù)器(了解)
傳統(tǒng)的web項(xiàng)目,一般都將靜態(tài)資源存放在web應(yīng)用中,這樣做很方便獲取靜態(tài)資源。但是當(dāng)web項(xiàng)目很大,用戶很多,靜態(tài)資源也很多時(shí),應(yīng)用服務(wù)器的性能就會(huì)很低下了。這種情況下一般都會(huì)需要一個(gè)靜態(tài)資源的服務(wù)器。
Nginx作為靜態(tài)資源服務(wù)器的搭建過(guò)程:
在linux服務(wù)器中創(chuàng)建文件夾,并上傳靜態(tài)資源
示例: mkdir -p /var/static編輯 /etc/nginx/conf.d/default.conf
總結(jié)
以上是生活随笔為你收集整理的Linux基础学习六:Nginx的使用教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux essid 异常,Linux
- 下一篇: java从基础到入门_Java从入门到入