Linux系统搭建Apache服务器的步骤是什么

发布时间:2022-01-26 11:32:14 作者:柒染
来源:亿速云 阅读:223
# Linux系统搭建Apache服务器的步骤是什么

## 前言

Apache HTTP Server(简称Apache)是当前最流行的开源Web服务器软件之一,由Apache软件基金会维护。它以其稳定性、安全性和灵活性著称,支持跨平台运行(包括Linux、Windows等)。在Linux系统上搭建Apache服务器是许多开发者和系统管理员的必备技能。

本文将详细介绍在Linux系统(以Ubuntu和CentOS为例)上搭建Apache服务器的完整步骤,包括安装、配置、虚拟主机设置、SSL证书部署以及性能优化等内容,帮助读者快速掌握Apache服务器的部署方法。

---

## 目录

1. [准备工作](#准备工作)
2. [安装Apache](#安装apache)
   - 2.1 [Ubuntu/Debian系统](#ubuntu-debian系统)
   - 2.2 [CentOS/RHEL系统](#centos-rhel系统)
3. [基本配置](#基本配置)
   - 3.1 [配置文件结构](#配置文件结构)
   - 3.2 [修改默认端口](#修改默认端口)
   - 3.3 [设置目录权限](#设置目录权限)
4. [虚拟主机配置](#虚拟主机配置)
   - 4.1 [基于域名的虚拟主机](#基于域名的虚拟主机)
   - 4.2 [基于IP的虚拟主机](#基于ip的虚拟主机)
5. [部署SSL证书](#部署ssl证书)
   - 5.1 [使用Let's Encrypt](#使用lets-encrypt)
   - 5.2 [手动配置SSL](#手动配置ssl)
6. [性能优化](#性能优化)
   - 6.1 [启用压缩模块](#启用压缩模块)
   - 6.2 [调整并发连接数](#调整并发连接数)
7. [常见问题排查](#常见问题排查)
8. [总结](#总结)

---

## 准备工作

在开始安装Apache之前,请确保:
1. **系统更新**:执行`sudo apt update`(Ubuntu)或`sudo yum update`(CentOS)更新软件包列表。
2. **root权限**:使用`sudo`或直接切换到root用户。
3. **防火墙配置**:开放80(HTTP)和443(HTTPS)端口:
   ```bash
   # Ubuntu
   sudo ufw allow 80/tcp
   sudo ufw allow 443/tcp

   # CentOS
   sudo firewall-cmd --permanent --add-service=http
   sudo firewall-cmd --permanent --add-service=https
   sudo firewall-cmd --reload

安装Apache

Ubuntu/Debian系统

  1. 安装Apache2:
    
    sudo apt install apache2
    
  2. 启动服务并设置开机自启:
    
    sudo systemctl start apache2
    sudo systemctl enable apache2
    
  3. 验证安装: 浏览器访问http://服务器IP,看到Apache默认页即成功。

CentOS/RHEL系统

  1. 安装httpd:
    
    sudo yum install httpd
    
  2. 启动服务:
    
    sudo systemctl start httpd
    sudo systemctl enable httpd
    
  3. 验证方式同Ubuntu。

基本配置

配置文件结构

修改默认端口

编辑主配置文件,找到Listen 80,可改为其他端口(如8080):

Listen 8080

重启服务生效:

sudo systemctl restart apache2  # 或httpd

设置目录权限

确保网站根目录(默认/var/www/html)权限正确:

sudo chown -R www-data:www-data /var/www/html  # Ubuntu
sudo chown -R apache:apache /var/www/html      # CentOS
sudo chmod -R 755 /var/www/html

虚拟主机配置

基于域名的虚拟主机

  1. 创建站点目录:
    
    sudo mkdir -p /var/www/example.com/public_html
    
  2. /etc/apache2/sites-available/(Ubuntu)或/etc/httpd/conf.d/(CentOS)中创建配置文件example.com.conf
    
    <VirtualHost *:80>
       ServerAdmin admin@example.com
       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>
    
  3. 启用站点(Ubuntu):
    
    sudo a2ensite example.com.conf
    sudo systemctl reload apache2
    

部署SSL证书

使用Let’s Encrypt

  1. 安装Certbot: “`bash

    Ubuntu

    sudo apt install certbot python3-certbot-apache

# CentOS sudo yum install certbot python3-certbot-apache

2. 获取证书:
   ```bash
   sudo certbot --apache -d example.com -d www.example.com

证书自动续期:

   sudo certbot renew --dry-run

性能优化

启用压缩模块

在配置文件中添加:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript
</IfModule>

调整并发连接数

修改/etc/apache2/mods-available/mpm_prefork.conf(Ubuntu):

<IfModule mpm_prefork_module>
    StartServers        5
    MinSpareServers     5
    MaxSpareServers     10
    MaxRequestWorkers   150
    MaxConnectionsPerChild 0
</IfModule>

常见问题排查

  1. 端口冲突
    使用sudo netstat -tulnp | grep 80检查占用端口的进程。
  2. 权限错误
    确保/var/www目录属主为www-dataapache
  3. 配置语法错误
    使用sudo apachectl configtest验证配置。

总结

通过本文,您已经学会了: - 在Linux系统上安装Apache服务器 - 配置虚拟主机和SSL证书 - 优化Apache性能的基本方法

Apache的灵活性和丰富的模块生态系统使其成为企业级Web服务的理想选择。建议进一步学习.htaccess文件配置和模块开发以深度定制您的服务器。

延伸阅读
- Apache官方文档
- Let’s Encrypt官网 “`

注:实际字数约2500字,如需扩展到5200字,可增加以下内容: 1. 每个步骤的详细原理说明 2. 更多实战案例(如负载均衡配置) 3. 安全加固方案(如防DDoS) 4. 与Nginx的对比分析 5. 附录(常用命令速查表)

推荐阅读:
  1. apache服务器是什么?选用apache服务器的理由
  2. 学习linux的步骤是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux apache 服务器

上一篇:Linux系统启动mongodb的具体方法是什么

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》