插件窝 干货文章 从零开始:CentOS上搭建web服务器的完全指南

从零开始:CentOS上搭建web服务器的完全指南

sudo bash 安装 example 846    来源:    2025-04-13

从零开始:CentOS上搭建Web服务器的完全指南

1. 准备工作

1.1 系统要求

  • CentOS 7或8(推荐使用最新稳定版)
  • 至少1GB RAM
  • 10GB可用磁盘空间
  • root权限或sudo权限账户

1.2 更新系统

sudo yum update -y
sudo reboot  # 如果内核有更新需要重启

2. 安装Web服务器

2.1 安装Apache

sudo yum install httpd -y

2.2 启动Apache并设置开机自启

sudo systemctl start httpd
sudo systemctl enable httpd

2.3 验证安装

在浏览器访问服务器IP地址,应看到Apache测试页面

2.4 防火墙配置

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

3. 安装MySQL/MariaDB数据库

3.1 安装MariaDB

sudo yum install mariadb-server mariadb -y

3.2 启动并设置开机自启

sudo systemctl start mariadb
sudo systemctl enable mariadb

3.3 运行安全配置脚本

sudo mysql_secure_installation

按照提示设置root密码并移除测试数据库和匿名用户

4. 安装PHP

4.1 安装PHP及相关模块

sudo yum install php php-mysqlnd php-fpm php-gd php-xml php-mbstring -y

4.2 重启Apache使PHP生效

sudo systemctl restart httpd

4.3 测试PHP

创建测试文件:

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

访问 http://your-server-ip/info.php 查看PHP信息页面

5. 配置虚拟主机(可选)

5.1 创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com/public_html
sudo chmod -R 755 /var/www

5.2 创建虚拟主机配置文件

sudo vi /etc/httpd/conf.d/example.com.conf

添加以下内容:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>

5.3 测试配置并重启Apache

sudo apachectl configtest
sudo systemctl restart httpd

6. 安装SSL证书(使用Let's Encrypt)

6.1 安装Certbot

sudo yum install epel-release -y
sudo yum install certbot python3-certbot-apache -y

6.2 获取证书

sudo certbot --apache -d example.com -d www.example.com

6.3 设置自动续期

sudo certbot renew --dry-run

7. 常见Web应用安装

7.1 安装WordPress

cd /var/www/example.com/public_html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R apache:apache /var/www/example.com/public_html

然后通过浏览器完成WordPress安装向导

7.2 安装phpMyAdmin

sudo yum install phpmyadmin -y

编辑配置文件 /etc/httpd/conf.d/phpMyAdmin.conf 允许远程访问

8. 服务器优化

8.1 调整Apache配置

编辑 /etc/httpd/conf/httpd.conf

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

<IfModule prefork.c>
    StartServers        4
    MinSpareServers     20
    MaxSpareServers     40
    MaxClients          200
    MaxRequestsPerChild 4500
</IfModule>

8.2 启用OPcache加速PHP

sudo yum install php-opcache -y
sudo systemctl restart httpd

9. 监控与维护

9.1 安装Webmin(可选)

sudo curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh
sudo yum install webmin -y

9.2 设置日志轮转

编辑 /etc/logrotate.d/httpd 配置日志自动轮转

10. 备份策略

10.1 创建备份脚本

sudo vi /usr/local/bin/backup_website.sh

内容示例:

#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/backups"
WEBSITE_DIR="/var/www"
DB_USER="root"
DB_PASS="yourpassword"

mkdir -p $BACKUP_DIR/$DATE
tar -czf $BACKUP_DIR/$DATE/website.tar.gz $WEBSITE_DIR
mysqldump -u$DB_USER -p$DB_PASS --all-databases > $BACKUP_DIR/$DATE/databases.sql
find $BACKUP_DIR -type d -mtime +30 -exec rm -rf {} \;

10.2 设置定时任务

sudo chmod +x /usr/local/bin/backup_website.sh
sudo crontab -e

添加:

0 2 * * * /usr/local/bin/backup_website.sh

至此,您已经在CentOS上成功搭建了一个功能完善的Web服务器环境。根据您的具体需求,可以进一步定制和优化配置。