在当今数字化时代,拥有一个个人或企业网站已成为展示形象、提供服务的重要途径,阿里云作为国内领先的云服务提供商,为用户提供了稳定、高效的CentOS服务器环境,使得网站发布变得简单可控,本文将详细介绍基于阿里云CentOS服务器的网站发布全流程,从环境准备到项目部署,帮助读者快速掌握网站上线的核心技能。

准备工作:购买与配置阿里云服务器
首先需要登录阿里云官网,根据需求选择适合的ECS实例配置,对于个人博客或小型企业网站,建议选择2核4GB内存、40GB系统盘的配置,操作系统优先选择CentOS 7.9版本,该版本稳定且社区支持完善,购买完成后,在安全组配置中开放必要端口,HTTP(80端口)和HTTPS(443端口)用于网站访问,SSH(22端口)用于远程管理,建议只允许指定IP地址访问SSH端口以提高安全性。
服务器初始化配置
连接服务器前,需先在阿里云ECS控制台创建密钥对,通过SSH密钥方式登录比密码更安全,登录后执行以下初始化操作:
- 更新系统:执行
yum update -y命令安装所有安全补丁和更新 - 配置防火墙:使用
firewall-cmd --permanent --add-service=http和firewall-cmd --reload命令开放HTTP服务 - 安装必要软件:通过
yum install -y wget vim git安装常用工具 - 配置时间同步:运行
yum install -y ntpdate && ntpdate -u ntp.aliyun.com确保服务器时间准确
Web环境搭建
安装Nginx
Nginx因其高性能和低资源占用成为主流Web服务器,执行以下命令安装:
yum install -y epel-release yum install -y nginx systemctl start nginx && systemctl enable nginx
安装完成后访问服务器公网IP,应看到Nginx默认欢迎页面。
安装MySQL数据库
对于需要数据存储的网站,MySQL是理想选择:

wget http://dev.mysql.com/get/mysql-community-release-el7-7.noarch.rpm yum localinstall -y mysql-community-release-el7-7.noarch.rpm yum install -y mysql-community-server systemctl start mysqld && systemctl enable mysqld
首次启动后,通过grep 'temporary password' /var/log/mysqld.log获取临时密码,并执行mysql_secure_installation进行安全配置。
安装PHP环境
以PHP 7.4为例,安装及配置步骤如下:
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install -y php74-php php74-php-fpm php74-php-mysqlnd php74-php-gd php74-php-mbstring systemctl start php-fpm && systemctl enable php-fpm
修改Nginx配置文件/etc/nginx/conf.d/default.conf,添加PHP支持:
location ~ .php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} 数据库创建与网站文件上传
使用
mysql -u root -p登录MySQL,创建数据库和用户:CREATE DATABASE website_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'website_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON website_db.* TO 'website_user'@'localhost'; FLUSH PRIVILEGES;
上传网站文件,可通过以下方式实现:

- SCP上传:本地使用
scp -i /path/to/key.pem -r /local/website root@服务器IP:/usr/share/nginx/html/ - Git拉取:在服务器上执行
git clone https://github.com/yourusername/website.git /usr/share/nginx/html - OSS同步:将网站文件存入阿里云OSS,通过ossutil工具同步到服务器
配置域名与SSL证书
- 域名解析:在域名提供商后台添加A记录,将域名指向服务器公网IP
- 申请SSL证书:可通过阿里云免费证书服务申请,下载后上传至服务器
- 配置HTTPS:在Nginx配置中添加以下内容:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/yourdomain.com.pem; ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key; location / { root /usr/share/nginx/html; index index.php index.html; } }最后配置HTTP跳转HTTPS:
server { listen 80; server_name yourdomain.com; return 301 https://$server_name$request_uri; }
性能优化与安全加固
- 配置Nginx缓存:在
http块中添加proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; - 安装安全软件:执行
yum install -y fail2ban防止暴力破解 - 定期备份:通过
crontab -e添加备份任务,示例:0 2 * * * mysqldump -u root -p website_db > /backup/website_$(date +%F).sql
常见问题排查
当网站无法访问时,可按以下步骤排查:
- 检查服务状态:
systemctl status nginx mysqld php-fpm - 查看错误日志:
tail -f /var/log/nginx/error.log - 检查端口占用:
netstat -tulnp | grep 80 - 验证防火墙规则:
firewall-cmd --list-all
FAQs
Q1: 如何在CentOS上安装多个PHP版本?
A1: 可通过Remi仓库实现多版本共存,首先安装Remi仓库,然后使用yum install -y php72-php php73-php php74-php安装不同版本,通过alternatives --config php命令可切换默认PHP版本,对于Nginx,需为每个PHP版本配置独立的php-fpm池,并在Nginx虚拟主机中指定对应的fastcgi_pass地址。
Q2: 网站访问出现403 Forbidden错误怎么办?
A2: 403错误通常由权限问题引起,首先检查网站目录权限,执行chown -R nginx:nginx /usr/share/nginx/html将目录所有者设为Nginx用户,其次确保index.html或index.php文件存在且可读,若使用SELinux,需执行setsebool -P httpd_can_network_connect 1或setsebool -P httpd_can_network_connect_db 1调整安全策略,最后检查Nginx配置中的root路径是否正确指向网站目录。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复