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