1.如果你只放静态网页,可以参考阿里的通过云虚拟主机控制台设置默认首页
2.我们是要部署后台服务的。授权安全组规则可以允许或者禁止与安全组相关联的 ECS 实例的公网和内网的入方向和出方向的访问。
3.什么是安全组规则
当然不懂还是看阿里的安全组概述
4.看了半天是不是看不懂,没关系,我们只需要知道接下来要做哪些事就行了。当然了如何创建安全组还是要看的。
5.接下来就是如何操作啦
第一步:
第二步:
第三步:
第四步:
你如果要开放多个端口,重复如上步骤即可。
注意:比如你开放2个端口:默认的80和9000端口。那么你在nginx配置的时候就只能配置这两个端口。
我是80端口用于博客前台展示使用,9000端口用于博客后台管理系统使用。当配置好了的话,例如我的公网IP是:47.134.30.148,那么可以通过http://47.134.30.148 访问前台,http://47.134.30.148:9000 访问后台管理系统了。
nginx如何配置的后面的内容会讲到。
有人就会问了,前台有端口,管理端也有端口,那我服务端的需要端口不呢?其实是不需要的。服务端的代码直接放到服务器上,把服务启动起来就好了。后续会讲到。
6.端口配置好了,那就可以用公网 IP 进行访问了么 ? 小老弟你飘了。。。
还有 防火墙 这一关呢,如果防火墙没有关闭或者相关的端口没有开放,也是不能用公网 IP 进行访问网站内容的。和安全组端口同理,比如我们的服务要用到的是 9000 端口,就要开放 9000 的端口,不然是访问不了的;其他端口同理。出于安全考虑还是把防火墙开上,只开放相应的端口最好。
关于防火墙的设置可以参考这篇文章:将nodejs项目部署到阿里云ESC服务器,linux系统配置80端口,实现公网IP访问写的很详细。
7.我这里就选取上面文章中的有关防火墙的部分
-
先看下防火墙服务有没有运行
firewall-cmd --state
如果你看到的是not running,表示防火墙未开启,如果你看到的是running ,说明防火墙服务已经开启
-
关闭防火墙
systemctl stop firewalld
如果关闭了防火墙还不可以,便查看一下80端口是否被其他程序占用
netstat -pan | grep :80
若占用要么杀死占用80端口的进程kill pid,要么重新监听一个端口
-
打开防火墙
systemctl start firewalld
-
查看防火墙开放的端口
firewall-cmd --list-port
-
防火墙开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent # 上面这行命令如果要开放 9000 端口就将 80 替换为 9000即可,其他端口,同理。 systemctl restart firewalld # 重启防火墙服务使新配置生效 firewall-cmd --list-port #重新查看开放的端口
-
刚刚都是防火墙的命令行,配置的开放端口的规则写在什么文件里了?
cat /etc/firewalld/zones/public.xml
上面文章中的
安装pm2模块
,我们不需要采用,因为我的后端项目是使用Egg.js构建的。自带部署模块参考 Egg应用部署 后面会讲到我是怎么部署的。