centos7离线安装Nginx、nginx反向代理、nginx负载均衡
下载所需rmp包(包中有所有rpm)
安装 gcc PCRE pcre-devel zlib OpenSSL
直接下载.tar.gz安装包,地址:https://nginx.org/en/download.html(文件在包中)
cd /usr/local/
mkdir rpm
cd rpm
把rpm文件上传
rpm -Uvh ./*.rpm --nodeps --force
cd /usr/local/
mkdir nginx
cd nginx
把nginx安装包上传
tar -zxvf nginx-1.15.4.tar.gz
cd nginx-1.15.4
./configure 效果如下图:
编译安装
make
make install
查找安装路径:
whereis nginx
开放端口
添加
firewall-cmd --permanent --zone=public --add-port=80/tcp
(--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查询端口是否开放
firewall-cmd --query-port=80/tcp
启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx 启动nginx
./nginx -s stop 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit 此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s reload 重启nginx(重新加载配置文件)
开机自启动
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
访问端口如下成功:
Nginx反向代理(一台nginx 192.168.50.80,一台tomcat192.168.50.102:8080)
下载启动tomcat 必须要有jdk环境
cd /usr/local
mkdir tomcat
上传tomcat包 apache-tomcat-8.5.34.tar.gz
tar -zxvf apache-tomcat-8.5.34.tar.gz
cd /usr/local/tomcat/apache-tomcat-8.5.34/bin
./startup.sh
开放8080端口
添加
firewall-cmd --permanent --zone=public --add-port=8080/tcp
重新载入
firewall-cmd --reload
查询端口是否开放
firewall-cmd --query-port=8080/tcp
关闭tomcat:
cd /usr/local/tomcat/apache-tomcat-8.5.34/bin
./shutdown.sh
切换到nginx服务器
cd /usr/local/nginx/conf
vi nginx.conf
在location/{}中加入tomcat服务器ip及端口
proxy_pass http://192.168.0.115:8080; Tomcat地址配置(被代理的地址)
./nginx -s reload 重启nginx
现在访问nginx会出现tomcat的页面
Nginx负载均衡(一台nginx 192.168.50.120 两台tomcat 192.168.50.102:8080 192.168.50.103:8080)
切换到nginx服务器
cd /usr/local/nginx/conf
vi nginx.conf
修改配置文件
添加:
upstream backend{
#ip_hash;
server 192.168.50.102:8080;
server 192.168.50.103:8080;
}
在location/{}中添加:
proxy_pass http://backend;
./nginx -s reload 重启nginx
切换到tomcat,为演示方便查看,修改tomcat index
cd /usr/local/tomcat/apache-tomcat-8.5.34/webapps/ROOT
vi index.jsp
${pageContext.servletContext.serverInfo}-192.168.50.102 加上本机ip方便查看
另一台tomcat也是如下操作
访问nginx会出现如下效果:
此时nginx负载均衡完成
附:
Nginx负载均衡其他几种配置方法:
配置1:
此配置将请求转发到两个WEB服务器,根据客户端IP分配目标主机,同时按权重分配流量,(weight 默认为1.weight越大,负载的权重就越大)
upstream backend {
ip_hash;
server 192.168.50.102:8080 weight=5;
server 192.168.50.103:8080 weight=3;
}
配置2:
默认负载平衡配置,nginx应用HTTP负载平衡来分发请求。
upstream backend {
server 192.168.50.102:8080;
server 192.168.50.103:8080;
}
配置3:
最小连接负载平衡配置,nginx将尽量不使用繁忙的服务器,而是将新请求分发给不太忙的服务器。
upstream backend {
least_conn;
server 192.168.50.102:8080;
server 192.168.50.103:8080;
}
配置4:
会话持久性配置,使用ip-hash,客户端的IP地址用作散列密钥,
以确定应为客户端请求选择服务器组中的哪个服务器。
此方法确保来自同一客户端的请求将始终定向到同一服务器,除非此服务器不可用。
upstream backend {
ip_hash;
server 192.168.50.102:8080;
server 192.168.50.103:8080;
}
配置5:
加权负载平衡配置,通过使用服务器权重进一步影响nginx负载平衡算法。
未配置权重的服务器,意味着所有指定的服务器被视为对特定负载平衡方法同等资格。
如:
upstream backend {
ip_hash;
server 192.168.14.132:8080 weight=3;
server 192.168.14.133:80 weight=2;
server 192.168.14.134:80;
server 192.168.14.135:80;
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx离线安装,反向代理,负载均衡 - Python技术站