前期准备
-
服务器选择
- 云服务器:推荐阿里云、酷盾(1核2G起步,约¥60/月),选择Ubuntu 22.04或CentOS 7+系统。
- 本地服务器:需公网IP并配置端口转发(80/443端口)。
- 域名注册:在阿里云/GoDaddy购买域名(如
example.com
),完成实名认证。
-
基础环境配置
# 更新系统 sudo apt update && sudo apt upgrade -y # Ubuntu/Debian sudo yum update -y && sudo yum upgrade -y # CentOS # 创建管理用户(非root) sudo adduser webadmin sudo usermod -aG sudo webadmin # 授予sudo权限
安装LAMP/LEMP环境
方案1:LAMP(Apache + MySQL + PHP)
# CentOS sudo yum install httpd mariadb-server php php-mysqlnd -y sudo systemctl start httpd mariadb sudo systemctl enable httpd mariadb
方案2:LEMP(Nginx + MySQL + PHP)
# CentOS sudo yum install nginx mariadb-server php-fpm php-mysqlnd -y sudo systemctl start nginx mariadb php-fpm sudo systemctl enable nginx mariadb php-fpm
配置Web服务器
Apache虚拟主机(LAMP)
- 创建网站目录:
sudo mkdir -p /var/www/example.com/public_html sudo chown -R webadmin:webadmin /var/www/example.com
- 配置虚拟主机:
sudo nano /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- 启用配置:
sudo a2ensite example.com.conf sudo systemctl reload apache2
Nginx虚拟主机(LEMP)
-
创建网站目录(同上)。
-
配置虚拟主机:
sudo nano /etc/nginx/conf.d/example.com.conf
server { listen 80; server_name example.com www.example.com; root /var/www/example.com/public_html; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本调整 } }
-
重启Nginx:
sudo nginx -t && sudo systemctl reload nginx
域名解析与测试
-
域名解析
- 在域名控制台添加A记录:
→ 服务器IP
www
→ 服务器IP - 等待生效(通常10分钟)。
- 在域名控制台添加A记录:
-
测试页面
echo "<?php phpinfo(); ?>" > /var/www/example.com/public_html/index.php
访问
http://example.com
,显示PHP信息页即成功。
安装网站程序(以WordPress为例)
-
下载并解压
cd /var/www/example.com/public_html wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz --strip-components=1 rm latest.tar.gz
-
配置数据库
sudo mysql -u root -p # 执行SQL命令: CREATE DATABASE wp_db; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPassword!123'; GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
-
完成安装
访问http://example.com
,按向导填写数据库信息(数据库名:wp_db
,用户:wp_user
,密码:StrongPassword!123
)。
安全加固
-
防火墙配置
sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw allow 22/tcp # SSH sudo ufw enable
-
SSL证书(Let’s Encrypt)
# 安装Certbot sudo apt install certbot python3-certbot-apache -y # Apache sudo apt install certbot python3-certbot-nginx -y # Nginx # 获取证书 sudo certbot --apache -d example.com -d www.example.com # Apache sudo certbot --nginx -d example.com -d www.example.com # Nginx
证书自动续期已配置。
-
文件权限优化
sudo chmod 750 /var/www/example.com/public_html sudo find /var/www/example.com -type d -exec chmod 755 {} \; sudo find /var/www/example.com -type f -exec chmod 644 {} \;
维护与管理
-
备份:
# 数据库备份 mysqldump -u root -p wp_db > wp_backup_$(date +%F).sql # 网站文件备份 tar -czvf website_backup_$(date +%F).tar.gz /var/www/example.com
-
更新:
sudo apt update && sudo apt upgrade -y # 系统更新 sudo /usr/local/bin/wp-cli core update # WordPress更新(需先安装WP-CLI)
常见问题排查
- 403 Forbidden:检查目录权限(
chmod 755 /var/www
)和SELinux状态(setenforce 0
临时关闭)。 - 数据库连接失败:确认MySQL用户权限及
wp-config.php
中的密码是否正确。 - 502 Bad Gateway:PHP-FPM未运行(
sudo systemctl restart php-fpm
)。
引用说明
本文参考以下权威资源:
- Apache官方文档:https://httpd.apache.org/docs/
- Nginx官方指南:https://nginx.org/en/docs/
- Let’s Encrypt Certbot:https://certbot.eff.org/
- WordPress安装手册:https://wordpress.org/support/article/installation/
重要提示:定期更新系统和软件是安全的核心,对于企业级应用,建议使用云服务商的安全组、WAF防火墙和自动备份服务。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5920.html