温馨提示×

如何用Apache2部署网站

小樊
48
2025-11-09 06:37:13
栏目: 云计算

如何用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 "<h1>Hello, World!</h1><p>Your website is working!</p>" | 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
    
  • 添加配置内容
    <VirtualHost *:80>
        ServerAdmin webmaster@yourdomain.com  # 管理员邮箱
        ServerName yourdomain.com             # 主域名
        ServerAlias www.yourdomain.com        # 别名(可选)
        DocumentRoot /var/www/yourdomain.com/html  # 网站根目录
        <Directory /var/www/yourdomain.com/html>
            Options Indexes FollowSymLinks    # 允许目录列表和符号链接
            AllowOverride All                   # 允许.htaccess覆盖配置
            Require all granted                 # 允许所有用户访问
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/yourdomain.com_error.log  # 错误日志路径
        CustomLog ${APACHE_LOG_DIR}/yourdomain.com_access.log combined  # 访问日志格式
    </VirtualHost>
    
  • 启用配置
    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
      
  • 获取证书
    sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
    
    按提示选择“Redirect to HTTPS”(强制跳转HTTPS),完成配置后,访问https://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的基础网站部署。根据需求可进一步优化(如配置缓存、压缩、重定向等),提升网站性能与用户体验。

0