在云服务器上部署企业官网的 Web 环境,通常包含以下核心步骤。下面以 Linux(Ubuntu 20.04/22.04)+ Nginx + PHP/Node.js/Python(根据技术栈选择)+ MySQL 为例,提供通用且安全的部署流程:
✅ 一、前期准备
-
购买并配置云服务器
- 选择合适配置(如 2 核 4G 起步,视访问量而定)
- 操作系统:推荐 Ubuntu Server LTS 或 CentOS Stream
- 安全组规则开放端口:
80(HTTP)、443(HTTPS)、22(SSH)
-
域名解析
- 将域名 A 记录指向服务器公网 IP
- 可选:配置子域名(如
www.example.com)
✅ 二、基础系统加固
# 更新系统
sudo apt update && sudo apt upgrade -y
# 创建专用用户(避免直接用 root)
sudo adduser webadmin
sudo usermod -aG sudo webadmin
sudo passwd webadmin
# 配置 SSH 密钥登录(禁用密码登录更安全)
# 参考:https://help.ubuntu.com/community/SSH/OpenSSH/Keys
✅ 三、安装 Web 服务组件(以 LAMP/LNMP 为例)
方案 A:LNMP(推荐,性能更优)
# 安装 Nginx
sudo apt install nginx -y
# 安装 PHP-FPM(根据官网技术栈选版本)
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
# 安装 MySQL/MariaDB
sudo apt install mariadb-server -y
sudo mysql_secure_installation # 设置 root 密码、移除测试库等
# 启动服务
sudo systemctl enable nginx mariadb
sudo systemctl start nginx mariadb
方案 B:Apache + PHP(传统兼容性好)
sudo apt install apache2 php libapache2-mod-php mysql-server -y
sudo systemctl enable apache2 mysql
✅ 四、配置网站根目录与虚拟主机
示例:Nginx 配置 /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html/example.com/public; # 建议用 public 隔离入口
index index.php index.html;
location ~ .php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ =404;
}
# 禁止访问敏感文件
location ~ /.ht { deny all; }
}
启用站点:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
💡 若使用 WordPress/DedeCMS 等 CMS,需提前上传代码至
/var/www/html/example.com/,并配置数据库连接。
✅ 五、配置 HTTPS(Let’s Encrypt 免费证书)
# 安装 Certbot
sudo apt install certbot python3-certbot-nginx -y
# 自动申请并配置证书
sudo certbot --nginx -d example.com -d www.example.com
# 自动续期(系统已添加定时任务)
sudo certbot renew --dry-run # 测试续期是否成功
✅ 成功后:
- 所有 HTTP 请求自动跳转 HTTPS
- 浏览器显示“安全”锁标志
✅ 六、数据库初始化与网站对接
-- 登录 MariaDB/MySQL
mysql -u root -p
CREATE DATABASE company_site CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'company_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON company_site.* TO 'company_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
在官网后台(如 WordPress 的 wp-config.php 或自定义 CMS)中填写:
define('DB_NAME', 'company_site');
define('DB_USER', 'company_user');
define('DB_PASSWORD', 'StrongPassword123!');
define('DB_HOST', 'localhost');
✅ 七、安全与运维建议
| 项目 | 建议措施 |
|---|---|
| 防火墙 | ufw allow 'Nginx Full', ufw enable |
| 定期备份 | 脚本备份网站目录 + 数据库,存至 OSS/S3 |
| 监控告警 | 安装 fail2ban 防暴力破解;用 Prometheus+Grafana 监控资源 |
| 日志管理 | logrotate 切割 Nginx/PHP 日志,保留 7~30 天 |
| CDN 提速 | 接入阿里云 CDN / Cloudflare,提升访问速度 & 抗 DDoS |
🚀 快速验证
curl -I https://example.com
# 应返回 200 OK,且 Header 中包含 HSTS(若已配置)
如您能提供具体技术栈(如:是否用 WordPress?Node.js?Java Spring Boot?),我可给出定制化部署脚本或Docker Compose 一键部署方案。需要吗?
CLOUD云枢