HCRM博客

如何在CentOS上搭建并优化Web服务器?

在CentOS上配置Web服务器是一个常见的任务,它涉及到安装和配置Web服务软件、设置防火墙规则以及可能的虚拟主机配置,本文将详细介绍如何在CentOS上配置一个基本的Web服务器,包括安装Apache HTTP Server(httpd)、配置防火墙以及设置虚拟主机。

一、基础配置

1、安装HTTPD服务

如何在CentOS上搭建并优化Web服务器?-图1
(图片来源网络,侵权删除)

使用yum命令安装Apache HTTP Server(httpd)。

     sudo yum install httpd y

启动httpd服务并查看其状态。

     sudo systemctl start httpd
     sudo systemctl status httpd

2、关闭防火墙或开放80端口

如果使用的是firewalld,可以选择关闭防火墙或仅开放80端口。

     # 关闭防火墙
     sudo systemctl stop firewalld.service
     
     # 或者仅开放80端口
     firewallcmd permanent zone=public addport=80/tcp
     firewallcmd reload

3、测试HTTP服务

在浏览器中输入服务器的IP地址或域名,如果看到Apache的默认欢迎页面,则表示HTTP服务已成功启动。

如何在CentOS上搭建并优化Web服务器?-图2
(图片来源网络,侵权删除)

二、虚拟目录配置

创建虚拟目录的优点包括便于访问、移动站点中的目录、灵活加大磁盘空间以及提高安全性,以下是创建虚拟目录的步骤:

1、创建虚拟目录

   mkdir p /var/www/motonhtml
   mkdir p /var/www/mohtml

2、编辑主配置文件

打开httpd的主配置文件/etc/httpd/conf/httpd.conf

在文件末尾添加Alias指令,将URL路径映射到文件系统路径。

     Alias /moton "/var/www/motonhtml"
     Alias /mo "/var/www/mohtml"

3、更改物理目录的安全上下文

如何在CentOS上搭建并优化Web服务器?-图3
(图片来源网络,侵权删除)
   chcon R t httpd_sys_content_t /var/www/

4、设置SELinux策略

查看与httpd相关的安全策略。

     getsebool a |grep httpd

设置httpd允许访问用户主目录。

     setsebool P httpd_enable_homedirs on

5、重启http服务

   sudo systemctl restart httpd

三、虚拟主机配置

虚拟主机允许在同一台服务器上运行多个站,每个网站可以拥有不同的域名、IP地址或端口号,以下是配置基于域名的虚拟主机的步骤:

1、为网卡绑定多个IP地址(如果需要):

   nmcli con mod ens33 +ipv4.address "192.168.117.118/24 192.168.117.119/24"
   nmcli con up ens33

2、新建文件夹并为网站建立主页

   mkdir p /var/www/moton_ip118
   mkdir p /var/www/mo_ip119
   echo "this is moton_ip118." > /var/www/moton_ip118/index.html
   echo "this is mo_ip119." > /var/www/mo_ip119/index.html

3、配置虚拟主机

打开虚拟主机配置文件/etc/httpd/conf.d/httpdvhosts.conf

添加以下内容以配置基于IP的虚拟主机。

     <VirtualHost 192.168.117.118:80>    DocumentRoot "/var/www/moton_ip118/"  </VirtualHost>  
     <VirtualHost 192.168.117.119:80>    DocumentRoot "/var/www/mo_ip119/"  </VirtualHost>

4、重启服务并测试

   sudo systemctl restart httpd

在Windows浏览器中输入上述配置的IP地址进行测试。

四、基于域名的虚拟主机配置

1、新建文件夹并为网站建立主页

   mkdir /var/www/moton
   mkdir /var/www/mo
   echo "this is moton." > /var/www/moton/index.html
   echo "this is Mo Colloge." > /var/www/mo/index.html

2、配置基于域名的虚拟主机

打开虚拟主机配置文件/etc/httpd/conf.d/httpdvhosts.conf

添加以下内容以配置基于域名的虚拟主机。

     <VirtualHost *:80>    DocumentRoot "/var/www/moton/"    ServerName www.moton.com  </VirtualHost>    <VirtualHost *:80>    DocumentRoot "/var/www/mo/"    ServerName www.mo.com  </VirtualHost>

3、在/etc/hosts文件中添加域名解析

   echo "192.168.117.118 www.moton.com" >> /etc/hosts
   echo "192.168.117.119 www.mo.com" >> /etc/hosts

4、重启服务并测试

   sudo systemctl restart httpd

在浏览器中输入配置的域名进行测试。

五、基于端口的虚拟主机配置

1、新建文件夹并为网站建立主页

   mkdir /var/www/motonport
   mkdir /var/www/moport
   echo "this is motonport." > /var/www/motonport/index.html
   echo "this is moport." > /var/www/moport/index.html

2、配置基于端口的虚拟主机

打开虚拟主机配置文件/etc/httpd/conf.d/httpdvhosts.conf

添加以下内容以配置基于端口的虚拟主机。

     <VirtualHost *:8892>    DocumentRoot "/var/www/motonport/"  </VirtualHost>  
     <VirtualHost *:1666>    DocumentRoot "/var/www/moport/"  </VirtualHost>

3、编辑主配置文件以添加监听端口

打开httpd的主配置文件/etc/httpd/conf/httpd.conf

确保Listen指令包含所需的端口号。

     Listen 80
     Listen 8892
     Listen 1666

4、重启服务并测试

   sudo systemctl restart httpd

在浏览器中输入http://<服务器IP>:8892http://<服务器IP>:1666进行测试。

六、用户个人站点配置

1、编辑个人站点的配置文件

   vim /etc/httpd/conf.d/userdir.conf

确保UserDir指令被取消注释并设置为public_html。

     UserDir public_html

2、为用户创建公共HTML目录

   mkdir /home/username/public_html

替换username为实际的用户名。

3、设置目录权限

   chown R username:username /home/username/public_html
   chmod R 755 /home/username/public_html

4、重启http服务

   sudo systemctl restart httpd

用户可以通过http://<服务器IP>:80/~username访问他们的个人站点。

通过以上步骤,您可以在CentOS上成功配置一个基本的Web服务器,并根据需要进行高级配置以满足特定的需求

分享:
扫描分享到社交APP
上一篇
下一篇