如何在云服务器(Linux-CentOS 7.2 64)上假设不同的环境,配置应用的生产环境:
- 基础的使用
- 软件的配置
- 综合环境的部署
目录设置
1.基础操作
- 如何管理安全组
2.软件部署
- 服务器必知软件
- 部署Apache
- 部署Nginx
- 部署MySQL
- 部署IIS
3.实战操作
- Laravel部署环境配置
- Django部署环境配置
- Express部署环境配置
- Ruby on Rails部署环境配置
- 正式发布需要注意的问题
1.如何管理安全组
什么是安全组
安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。您可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。
- 安全组是逻辑分组,同一地域不同实例可以使用同一安全组。这样就可以很方便地配置多个云服务器使用相同的防火墙规则。
- 安全组可以用于基础网络云服务器和弹性网卡实例。这样无论是基础网络云服务器和弹性网卡实例,都可以使用安全组。
- 安全组的修改是实时生效的。这样可以快速地对网络环境进行修改,实现快速响应。
系统默认为每个用户提供了2个模板。
- 放通22,80,443,3389和ICMP:推荐使用,符合大多数应用场景。
- 放通全部端口:不推荐使用,有安全风险。
安全组的设置会需要用到如下几个规则:
- 协议类型:ICMP、TCP、UDP
- 端口:用户请求访问时的端口
- 授权类型:地址段访问、安全组访问
- 来源或目标:流量的来源(入站请求)或目标(出战请求)。
- 策略:允许访问或拒绝访问
入站和出站
入站请求即为用户访问你的云服务器的请求
出站请求即为你在云服务器上访问网上的其他服务器的请求。
(比如你的服务器需要用到中国天气网上的天气信息)
安全组的优先级
请求会根据安全组规则依次处理。
- 实例绑定多个安全组时的优先级为:数字越小,优先级越高。
- 安全组内规则的优先级为:位置越上,优先级越高。
使用流程
2.软件部署
服务器必知软件
- Web服务器软件
- 数据库软件
- 脚本解释器软件
- 安全管理软件
- 辅助软件
1)Web服务器软件
- Nginx
- Apache
- IIS
- OpenResty
- Lighttrd
- ...
2)数据库软件
- MySQL
- SQL Server
- Oracle
- MongoDB
- Rdis
- ...
3)脚本解释器
- Java环境
- PHP环境
- ASP.Net环境
- Python环境
- Node.js环境
- Ruby on Rails环境
- ...
4)安全管理软件
- 防火墙软件
- 服务端杀毒软件
- 服务端安全防御软件
- ...
5)辅助软件
- 编辑器
- FTP工具
- Zip打包/解压工具
- ...
如何选择你的软件
- 至少有一个Web服务器软件。
- 数据库软件根据你的实际情况,一般会有一个。
- 脚本解释器至少有一个。
- 安全软件可以根据需要来安装,至少有防火墙。
- 辅助软件至少有编辑软件和解压软件。