阅读量:26
如何用Apache2部署网站
Apache2是Linux环境下常用的Web服务器,以下是基础部署及常见优化(虚拟主机、SSL、权限设置)的详细步骤,覆盖Ubuntu/CentOS等主流系统。
1. 安装Apache2
根据系统类型选择对应命令:
- Ubuntu/Debian:
sudo apt update && sudo apt install apache2 -y - CentOS/RHEL:
sudo yum update -y && sudo yum install httpd -y
安装完成后,Apache会自动启动(可通过systemctl status apache2/systemctl status httpd验证状态)。
2. 启动并设置开机自启
# 启动Apache服务
sudo systemctl start apache2 # Ubuntu/Debian
sudo systemctl start httpd # CentOS/RHEL
# 设置开机自启
sudo systemctl enable apache2
sudo systemctl enable httpd
通过systemctl status apache2确认服务状态为“active (running)”。
3. 配置防火墙(允许HTTP/HTTPS流量)
若系统启用防火墙(如Ubuntu的UFW、CentOS的firewalld),需放行HTTP(80端口)和HTTPS(443端口):
- Ubuntu(UFW):
sudo ufw allow 'Apache Full' # 允许HTTP和HTTPS sudo ufw enable # 启用防火墙(若未启用) - CentOS(firewalld):
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
4. 创建网站目录与测试页面
- 创建目录:
通常将网站文件存放在/var/www/yourdomain.com(替换yourdomain.com为你的域名或项目名):sudo mkdir -p /var/www/yourdomain.com/html - 设置权限:
确保Apache用户(Ubuntu为www-data,CentOS为apache)对目录有读写权限:sudo chown -R www-data:www-data /var/www/yourdomain.com # Ubuntu sudo chown -R apache:apache /var/www/yourdomain.com # CentOS sudo chmod -R 755 /var/www/yourdomain.com - 创建测试页面:
在html目录下创建index.html,写入简单内容:echo "Hello, World!
Your website is working!
" | sudo tee /var/www/yourdomain.com/html/index.html
5. 配置虚拟主机(可选但推荐)
虚拟主机允许同一服务器托管多个网站。以Ubuntu为例,步骤如下:
- 创建配置文件:
在/etc/apache2/sites-available/下新建配置文件(如yourdomain.com.conf):sudo nano /etc/apache2/sites-available/yourdomain.com.conf - 添加配置内容:
:80 > ServerAdmin webmaster@yourdomain.com # 管理员邮箱 ServerName yourdomain.com # 主域名 ServerAlias www.yourdomain.com # 别名(可选) DocumentRoot /var/www/yourdomain.com/html # 网站根目录Options Indexes FollowSymLinks # 允许目录列表和符号链接 AllowOverride All # 允许.htaccess覆盖配置 Require all granted # 允许所有用户访问 ErrorLog ${APACHE_LOG_DIR}/yourdomain.com_error.log # 错误日志路径 CustomLog ${APACHE_LOG_DIR}/yourdomain.com_access.log combined # 访问日志格式 - 启用配置:
sudo a2ensite yourdomain.com.conf # 启用站点 sudo a2dissite 000-default.conf # 可选:禁用默认站点 sudo systemctl reload apache2 # 重新加载配置 - CentOS配置差异:
将配置文件放在/etc/httpd/conf.d/目录下(如yourdomain.com.conf),无需额外启用,修改后重启Apache即可。
6. 测试网站访问
- 本地测试:
在服务器本地浏览器输入http://localhost,应显示测试页面。 - 远程测试:
将域名解析到服务器IP(通过DNS提供商添加A记录),然后在浏览器输入http://yourdomain.com,若看到测试页面则部署成功。
7. 可选优化:配置SSL证书(启用HTTPS)
使用Let’s Encrypt免费获取SSL证书,提升网站安全性:
- 安装Certbot:
- Ubuntu:
sudo apt install certbot python3-certbot-apache -y - CentOS:
sudo yum install certbot python2-certbot-apache -y
- Ubuntu:
- 获取证书:
按提示选择“Redirect to HTTPS”(强制跳转HTTPS),完成配置后,访问sudo certbot --apache -d yourdomain.com -d www.yourdomain.comhttps://yourdomain.com将显示安全锁标志。
8. 常见问题排查
- 无法访问:检查防火墙是否放行80/443端口,域名是否解析到正确IP。
- 403 Forbidden:确认目录权限(
chmod 755)和所有者(chown www-data:www-data/apache:apache)。 - 配置错误:查看Apache错误日志(
/var/log/apache2/error.log或/var/log/httpd/error_log)定位问题。
通过以上步骤,即可完成Apache2的基础网站部署。根据需求可进一步优化(如配置缓存、压缩、重定向等),提升网站性能与用户体验。