在华为云上部署Nginx,核心路径是:购买ECS实例、配置安全组开放端口、通过SSH安装并启动服务,整个流程熟练后10分钟内即可完成。
华为云服务器部署nginx的准备工作
部署前需要完成账户、云资源和网络配置三个基础环节,任何一个环节出错都会影响后续操作。
注册华为云账号与实名认证
- 访问华为云官网,使用手机号或邮箱完成注册。
- 登录控制台后,进入“账号中心”进行实名认证,个人或企业认证均可正常使用ECS,企业认证可获得更高配额和发票支持。
- 实名认证通常需要1-2个工作日审核,建议提前完成。
选择ECS实例规格与镜像
- 进入控制台“弹性云服务器”页面,点击“购买弹性云服务器”。
- 根据业务预估流量选择实例规格,部署Nginx服务,2核4GB的配置足以支撑日均数万PV的静态资源访问;如果只用做反向代理或轻量应用,1核2GB即可满足大多数场景。
- 镜像推荐选择Ubuntu 20.04或CentOS 7.9,这两种系统对Nginx的兼容性最好,社区文档丰富,遇到问题容易找到解决方案。
- 网络方面,选择“按带宽计费”或“按流量计费”,如果业务流量稳定,按带宽计费更划算;如果流量波动大,按流量计费能避免浪费。
配置安全组规则
- 在购买ECS的过程中,会要求配置安全组,安全组相当于云服务器的防火墙,控制入站和出站流量。
- 必须添加一条规则,允许HTTP(80端口)和HTTPS(443端口)从任何来源访问,设置方法:在“安全组”页面,点击“添加规则”,协议选择TCP,端口填80或443,源地址选择0.0.0.0/0。
- 同时保留SSH(22端口)的访问规则,但建议将源地址限制为你的公网IP,减少被扫描的风险。
华为云机器部署nginx的安装步骤
这一步是核心,涵盖从远程连接到服务启动的全过程。
通过SSH连接服务器
- 购买ECS后,你会获得一个公网IP地址和初始密码(或创建时设置的密钥对)。
- 使用本地终端(Windows下推荐PowerShell或Putty,macOS/Linux直接使用内置终端)执行连接命令:
ssh root@你的公网IP。 - 输入密码或使用密钥文件登录,登录成功后,命令行提示符会变成云服务器的系统名称。
安装Nginx
- 以Ubuntu为例,首先更新系统包索引:
sudo apt update。 - 然后安装Nginx:
sudo apt install nginx -y。-y参数自动确认安装,避免手动交互。 - 安装完成后,Nginx会自动启动,检查运行状态:
sudo systemctl status nginx,如果看到active (running),说明安装成功。 - 也可以直接访问云服务器的公网IP,如果浏览器出现Nginx默认欢迎页,则证明部署有效。
设置开机自启与防火墙
- 确保Nginx在服务器重启后自动运行:
sudo systemctl enable nginx。 - 如果系统内部启用了
ufw防火墙,需要放行Nginx:sudo ufw allow 'Nginx Full',这一步与安全组规则不冲突,两者同时生效,缺一不可。
Nginx配置与常见场景
安装只是第一步,真正的价值在于根据业务调整Nginx配置。
配置静态网站服务
- 默认网站根目录在
/var/www/html,你可以将自己的网页文件上传到此目录,或者修改网站根目录路径。 - 编辑配置文件:
sudo vim /etc/nginx/sites-available/default。 - 修改
root指令指向你的网站文件夹,root /var/www/mysite;。 - 保存后测试配置是否正确:
,如果显示sudo nginx -t
test is successful,则重新加载配置:sudo systemctl reload nginx。
设置反向代理
- 如果你需要将请求转发到后端应用(如Tomcat、Node.js),可以在
location块中添加proxy_pass指令。 - 示例:
location / { proxy_pass http://localhost:8080; }。 - 注意调整
proxy_set_header相关参数,确保后端收到正确的客户端IP和协议信息。
绑定域名与SSL证书
- 域名解析需要先购买域名,并在云解析DNS中将域名指向云服务器公网IP。
- 在Nginx配置中,
server_name填写你的域名。 - 免费SSL证书可以通过Let’s Encrypt获得,安装
certbot后执行:sudo certbot --nginx -d yourdomain.com,Certbot会自动修改Nginx配置,启用HTTPS并设置自动续期。
华为云nginx部署费用与成本优化
很多人在选择云服务时,最关心的是华为云nginx部署费用,费用主要由三部分构成:ECS实例、带宽、存储。
ECS实例费用
- 包年包月模式下,1核2GB的实例每月约几十元,2核4GB约百元出头,具体价格因区域和优惠活动浮动,可参考华为云官方定价页面。
- 如果只是测试或短期使用,按需付费每小时几毛钱,适合临时搭建环境。
带宽与流量费用
- 固定带宽计费:5Mbps带宽每月约一两百元,适合持续有访问量的业务。
- 按流量计费:每GB约几毛钱,适合访问量波动大或初期访客少的场景。据统计,静态网站月度流量在100GB以内时,按流量计费通常比固定带宽更划算。
免费额度与优惠
- 华为云为新用户提供一定时长的免费试用券,通常包含1个月或特定额度的ECS资源,利用好这些免费额度,可以零成本完成Nginx部署测试。
- 长期使用建议关注官网的“云闪购”活动,包年包月往往能享受折扣,总体成本降低约20%-30%。
华为云nginx部署常见问题解答
华为云服务器部署nginx后无法访问页面怎么办?
首先检查安全组是否放行了80或443端口,然后在服务器内部使用curl http://localhost测试,如果返回Nginx欢迎页,说明Nginx运行正常,问题出在安全组或防火墙,如果curl无响应,检查Nginx是否启动,并查看错误日志:/var/log/nginx/error.log,最常见的原因是默认配置中的listen指令只绑定了localhost,修改为listen 0.0.0.0:80;即可。
Nginx部署后如何配置多站点?
在/etc/nginx/sites-available/目录下为每个站点创建独立的配置文件,并在/etc/nginx/sites-enabled/目录下建立软链接,每个配置文件中使用不同的server_name和root指令,即可实现同一台服务器托管多个域名,配置完成后,务必执行sudo nginx -t测试语法,再重新加载服务。
华为云机器部署nginx是否支持WebSocket反向代理?
支持,在Nginx配置的location块中,添加以下头信息即可:proxy_set_header Upgrade $http_upgrade;和proxy_set_header Connection "upgrade";,同时需要确保proxy_pass指向的WebSocket服务地址是ws://或wss://协议,Nginx从1.3版本开始原生支持WebSocket代理,无需额外模块。
在华为云上部署Nginx,本质是云资源与软件配置的协作,前期准备做足,安装过程只需几行命令,后续的配置优化才是持续产生价值的关键,无论你是搭建个人博客还是企业应用,这套流程都能直接复用。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/533306.html



