CentOS 7搭建Web服务器
一、安装Apache HTTP服务器
1、更新系统软件包:确保所有软件包都是最新的,避免在安装过程中出现不兼容的问题。
sudo yum update -y
2、安装Apache:使用yum命令安装Apache。
sudo yum install httpd -y
3、启动并设置自动启动Apache服务:安装完成后,启动Apache服务并设置其在系统启动时自动运行。
sudo systemctl start httpd sudo systemctl enable httpd
4、验证安装:通过访问服务器的IP地址来确认Apache是否成功安装,如果看到Apache的测试页面,说明安装成功。
firefox http://<服务器IP>/
二、配置防火墙
1、开放HTTP和HTTPS端口:为了让外部用户能够访问你的Web服务器,需要开放HTTP(端口80)和HTTPS(端口443)端口。
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
2、检查防火墙状态:确保防火墙规则已经生效。
sudo firewall-cmd --list-all
三、配置虚拟主机
1、创建虚拟主机配置文件:在Apache配置目录下创建一个新的配置文件,例如example.com.conf。
sudo nano /etc/httpd/conf.d/example.com.conf
2、添加以下内容到配置文件中:根据不同的域名或IP地址配置不同的虚拟主机。
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/example.com ServerName example.com ServerAlias www.example.com ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined </VirtualHost>
3、创建网站目录并设置权限:创建网站的根目录,并设置适当的权限。
sudo mkdir -p /var/www/html/example.com sudo chown -R apache:apache /var/www/html/example.com sudo chmod -R 755 /var/www/html/example.com
4、重启Apache:使配置生效。
sudo systemctl restart httpd
四、启用SSL
1、安装Certbot:Certbot是一个自动化工具,可以帮助你获取和安装Let’s Encrypt SSL证书。
sudo yum install epel-release -y sudo yum install certbot python2-certbot-apache -y
2、获取SSL证书:使用Certbot获取SSL证书。
sudo certbot --apache -d example.com -d www.example.com
3、自动更新证书:为了确保SSL证书在有效期内,可以设置自动更新,将以下命令添加到cron任务中。
sudo crontab -e
添加以下内容:
0 0 * * * /usr/bin/certbot renew --quiet
五、优化性能
1、调整Apache配置:编辑Apache主配置文件以优化性能。
sudo nano /etc/httpd/conf/httpd.conf
调整以下参数:
KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5
2、使用缓存:启用Apache缓存模块可以提高性能。
sudo yum install mod_cache mod_cache_disk -y
在虚拟主机配置文件中添加以下内容:
<IfModule mod_cache.c> CacheQuickHandler off CacheLock on CacheLockPath /tmp/mod_cache-lock CacheLockMaxAge 5 CacheIgnoreHeaders Set-Cookie <IfModule mod_cache_disk.c> CacheRoot "/var/cache/mod_cache_disk" CacheEnable disk / CacheDirLevels 2 CacheDirLength 1 </IfModule> </IfModule>
3、安装和配置PHP-FPM:如果你的网站是使用PHP开发的,建议使用PHP-FPM来提高PHP脚本的执行效率。
sudo yum install php php-fpm -y
编辑PHP-FPM配置文件:
sudo nano /etc/php-fpm.d/www.conf
调整以下参数:
listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500
4、重启Apache和PHP-FPM:使配置生效。
sudo systemctl restart httpd sudo systemctl restart php-fpm
FAQs常见问题解答
Q1:如何更改Apache默认监听端口?
A1:可以通过修改Apache配置文件中的Listen指令来更改默认监听端口,要更改为8080端口,可以在主配置文件中添加或修改以下行:
Listen 8080
然后重启Apache服务:
sudo systemctl restart httpd
确保防火墙允许新的端口号通过。
Q2:如何备份和恢复Apache配置文件?
A2:可以使用tar命令来备份整个Apache配置文件目录,创建一个备份目录:
sudo mkdir -p /backup/apache-config
使用tar命令将配置文件压缩成tar.gz格式:
sudo tar -czvf /backup/apache-config/apache-config-backup.tar.gz /etc/httpd/conf/
恢复时,先删除或重命名现有的配置文件目录,然后解压备份文件:
sudo tar -xzvf /backup/apache-config/apache-config-backup.tar.gz -C /etc/httpd/conf/