记一次阿里云服务器的防火墙天坑
- 编程技术
- 时间:2019年3月19日 14:33
- 859人已阅读
之前换了阿里云服务器,新服务器就装了apache,默认给了80端口。最近要学习laravel,准备装个nginx结果装了好久才搞定,最后才发现是阿里云服务器后台安全组件的锅。下面分享下nginx配置和使用常遇到的问题,希望能帮到一些遇到类似情况的童鞋。
安装nginx
我的服务器是centos 7的,所以要先安装相关的源再安装
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx
配置文件
安装完后可以查看下nginx开启了没有,默认是没有开启的
ps -ef|grep nginx
然后看下nginx被安装在哪里,默认的话是放在/etc/nginx中
whereis nginx
或者直接查看下nginx的配置文件放哪边
find / -name nginx.conf
由于/etc/nginx/conf.d/下面有个default.conf默认配置文件,为了保证不受它影响,指定nginx的配置文件
nginx -c /etc/nginx/nginx.conf
修改配置文件大致如下,具体看需求
server { listen 8888 default_server; # 设置访问端口 #listen [::]:8888 default_server ipv6only=on; server_name _; index index.html index.htm index.php; root /home/wwwroot; #设置默认访问目录 location / { root /home/wwwroot; index index.html index.htm; } }
启动nginx,然后查看是否成功启动
systemctl start nginx #service nginx start ps -ef|grep nginx
端口被占用问题
如果启动nginx的时候错误内容有端口被占用的情况,可以看看目前端口的占用情况,修改配置文件选取一个没有用到的端口
netstat -ntlp
防火墙未开启相关端口
如果nginx能够正常启动,但是在访问的时候浏览器报错“链接超时,请检查代理或者防火墙的情况”,先检查防火墙是否有开启。我的服务器是centos7,所以用到的命令是firewall的,如下
firewall-cmd --state
- 如果有开启防火墙,查看下你配置的端口是否已经放开放了
firewall-cmd --list-ports
- 如果没有开放,添加对应的端口,然后重启防火墙,假如你要开放的端口是8888,命令如下
firewall-cmd --zone=public --add-port=8888/tcp --permanent #要加--permanent,表示永久开放,要不然重启防火墙后会消失 firewall-cmd --reload firewall-cmd --list-ports
阿里云服务器安全组件未配置端口
如果上面的问题都解决了,但是还是访问不了,且你的服务器是阿里云服务器,是阿里云服务器管理后台对实例的服务器有个安全配置的,解决步骤如下:
1 . 登陆阿里云服务器
2 . 在左侧菜单选择“云服务器ECS”,然后在面板点击你服务器(PS:鼠标有时候指向对应服务器的时候可能没出现可点击的样式,实际上是可以点击的。。。)
3 . 在操作选项那里点击“更多”,选取“网络和安全组”-“安全组配置”
4 . 点击配置规则
5 . 点击右上角的“添加安全组规则”,协议类型选择“自定义TCP”,授权对象默认填写“0.0.0.0/0”,端口里面要写的就是你开放的端口