环境准备
选择Linux发行版
- 推荐选项:Ubuntu Server、CentOS、Debian
- 特点:稳定、社区支持丰富、软件源齐全
- 示例命令(以Ubuntu为例):
sudo apt update && sudo apt upgrade -y
安装Web服务器
服务器类型 | 安装命令(Ubuntu) | 安装命令(CentOS) |
---|---|---|
Apache | sudo apt install apache2 -y |
sudo yum install httpd -y |
Nginx | sudo apt install nginx -y |
sudo yum install nginx -y |
Lighttpd | sudo apt install lighttpd -y |
sudo yum install lighttpd -y |
防火墙配置
- 开放80/443端口(以UFW为例):
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
网站部署
上传HTML文件
- 方法1:SCP传输
scp -r /本地路径/ 用户名@服务器IP:/var/www/html/
- 方法2:FTP客户端(如FileZilla)
- 连接地址:
ftp://服务器IP
- 默认目录:
/var/www/html/
(Apache)或/usr/share/nginx/html/
(Nginx)
- 连接地址:
配置虚拟主机(Apache示例)
- 创建配置文件:
sudo nano /etc/apache2/sites-available/example.com.conf ```示例: ```apache <VirtualHost :80> ServerName example.com DocumentRoot /var/www/html/example <Directory /var/www/html/example> AllowOverride All Require all granted </Directory> </VirtualHost>
- 启用配置:
sudo a2ensite example.com.conf sudo systemctl restart apache2
测试访问
- 访问地址:http://服务器IP/ 或 http://域名/
- 常见问题:
- 403错误:检查文件权限(
chmod -R 755 /var/www/html/
) - 无法访问:确认防火墙规则和SELinux状态(
sudo setenforce 0
临时关闭)
- 403错误:检查文件权限(
域名绑定
步骤 | 操作说明 |
---|---|
获取域名IP | 登录域名服务商控制台,获取解析记录中的@A记录(如168.1.1 ) |
修改本地hosts | 临时测试:echo "192.168.1.1 example.com" | sudo tee -a /etc/hosts |
配置DNS解析 | 在域名服务商处添加A记录,指向服务器公网IP |
等待生效 | 一般需10-30分钟,可通过dig example.com 检查解析状态 |
SSL证书部署(可选)
使用Let’s Encrypt免费证书
sudo apt install certbot python3-certbot-apache -y sudo certbot --apache -d example.com -d www.example.com
- 自动续签:
sudo certbot renew
(需定期执行或配置定时任务)
相关问题与解答
问题1:如何将网站从Apache迁移到Nginx?
解答:
RewriteEngine On
RewriteRule ^about$ /about.html [L]
server {}
块中添加:
location /about { rewrite ^/about$ /about.html last; }
http://example.com/about
重定向到/about.html
,隐藏