nginx负载均衡

Nginx安装

1.安装依赖包
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

1.解压安装包
cd /usr/local
mkdir nginx
将安装包放入到这个目录下
tar -xvf nginx-1.13.7.tar.gz

2.安装nginx
//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令
./configure
//执行make命令
make
//执行make install命令
make install
3.配置nginx.conf
vi /usr/local/nginx/conf/nginx.conf
将端口号改成8089,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。localhost修改为你服务器ip地址。

4.5.启动nginx
/usr/local/nginx/sbin/nginx -s reload
如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed
则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
再次启动即可!
查看nginx进程是否启动:
ps -ef | grep nginx

6.若想使用外部主机连接上虚拟机访问端口192.168.131.2,需要关闭虚拟机的防火墙:centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
随后访问该ip即可看到nginx界面。
安装完成一般常用命令
进入安装目录中,
命令: cd /usr/local/nginx/sbin
启动,关闭,重启,命令:
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启
Linux系统下我的/etc/sysconfig/路径下无iptables文件
虚拟机新装了一个CentOs7,然后做防火墙配置的时候找不到iptables文件,解决方法如下:
因为默认使用的是firewall作为防火墙,把他停掉装个iptable
systemctl stop firewalld 
systemctl mask firewalld
yum install -y iptables 
yum install iptables-services
然后就有iptables文件,就可以作配置
开启服务 
systemctl start iptables.service
systemctl restart iptables.service // 重启防火墙使配置生效 
systemctl enable iptables.service // 设置防火墙开机启动
其他命令: 
检查是否安装了iptables 
service iptables status 
安装iptables 
yum install -y iptables 
升级iptables 
yum update iptables 
安装iptables-services 
yum install iptables-services
systemctl disable iptables #禁止iptables服务 
systemctl stop iptables #暂停服务 
systemctl enable iptables #解除禁止iptables 
systemctl start iptables #开启服务
linux系统对外开放80、8080等端口,防火墙设置
我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而Linux系统(centos、redhat等)的防火墙是默认只对外开放了22端口。
下面的命令可以关闭/打开防火墙(需要重启系统)
1.下面的命令可以关闭/打开防火墙(需要重启系统)
开启: chkconfig iptables on 
关闭: chkconfig iptables off 
下面的代码可以启动和停止防火墙(立即生效,重启后失效)
启动:service iptables start 
关闭:service iptables stop iptables
方式设置防火墙规则在wmware中安装linux后安装好数据库,JDK及tomcat后启动服务,虚拟机中可以访问,但是主机却无法访问,但是同时主机和虚拟机之间可以ping的通,网上查阅资料后,
解决方法是
方法1.用root登录后,执行 service iptables stop --停止 service iptables start --启动 
 但是在实际应用中,关闭防火墙降低的服务器的安全性,不能关闭防火墙。
 如果在宿主机的dos窗口下telnet虚拟机的8080窗口,会失败,由此可以确定是虚拟机的8080窗口有问题,应该是被防火墙堵住了。因此修改防火墙设置即可。 
方法2.修改Linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 就可以了,其中 8080 是要开放的端口号,然后重新启动linux的防火墙服务,
 /etc/init.d/iptables restart。 
方法3.在命令行添加外网端口访问 linux开启允许外网访问的端口 LINUX开启允许对外访问的网络端口 LINUX通过下面的命令可以开启允许对外访问的网络端口:
 /sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT 
#开启8000端口 /etc/rc.d/init.d/iptables save 
#保存配置 /etc/rc.d/init.d/iptables restart
#重启服务 查看端口是否已经开放 /etc/init.d/iptables status

Nginx配置反向代理
nginx当做反向代理服务器主要是对nginx.conf内容进行配置
a)配置服务器组
在http{ }节点之间添加 upstream
  upstream yangtest{
                server 192.168.80.10:8081;
                server 192.168.80.11:8082;
            }
如下图所示

b)nginx端口默认为80,可以修改也可以使用默认
c)在location{}中,利用proxy_pass配置反向代理地址,"http://"必带。
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://yangtest;
        }
如下图所示

d)配置完成后,切换到/usr/local/nginx/sbin目录使用./nginx -t验证配置是否合法,配置成功后重新
加载配置文件,启动nginx。
e)最后访问http://192.168.80.128/,同一个地址出现不同的页面信息,说明一会儿访问http://192.168.80.11:8082/
一会儿访问http://192.168.80.10:8081/
PS:
启动命令:切换到/usr/local/nginx/sbin目录使用./nginx启动
停止命令:切换到/usr/local/nginx/sbin目录使用./nginx -s stop停止
验证配置文件是否合法:切换到/usr/local/nginx/sbin目录使用./nginx -t
重新加载配置文件:切换到/usr/local/nginx/sbin目录使用./nginx -s reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值