Linux/centos上如何配置管理Web服务器?

2023-11-08 19:03:59 浏览数 (1)

1 Web简单了解

  • Web服务器称为WWW服务器,主要是提供上网功能;
  • 常见的Web服务器有:Microsoft IISIBM WebSphereApacheTomcat等;
  • 本文主要以Apache服务器为例了解一些Linux/centos上如何配置管理Web服务器。

2 关于Apache

  • Apache是一种开源的Web服务器软件;
  • 具有跨平台特性,支持UnixLinuxBSD等操作系统;
  • 支持静态和动态内容;
  • 对于模块化支持;
  • 支持SSL和虚拟主机;
  • 具有完整的日志功能;
  • 支持用户认证机制等。

3 如何安装Apache服务器?

3.1 Apache服务安装

  • 先检查系统上是否已经安装了Apache服务,如下:
代码语言:python代码运行次数:0复制
rpm -qa | grep httpd
  • 我的是已经安装了如下: 在这里插入图片描述在这里插入图片描述
  • 如果没有安装,可以使用以下命令安装:
代码语言:python代码运行次数:0复制
yum -y install httpd

3.2 httpd服务的基本操作

  • 查看httpd服务的运行状态:
代码语言:python代码运行次数:0复制
systemctl status httpd.service
  • 如下显示,我的还没有启动: 在这里插入图片描述在这里插入图片描述
  • 启动httpd服务:
代码语言:python代码运行次数:0复制
systemctl start httpd.service
  • 启动后如下显示:
代码语言:python代码运行次数:0复制
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-11-08 17:53:21 CST; 2s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 5953 (httpd)
   Status: "Processing requests..."
    Tasks: 9
   CGroup: /system.slice/httpd.service
           ├─5953 /usr/sbin/httpd -DFOREGROUND
           ├─5954 /usr/libexec/nss_pcache 6 off
           ├─5956 /usr/sbin/httpd -DFOREGROUND
           ├─5958 /usr/sbin/httpd -DFOREGROUND
           ├─5959 /usr/sbin/httpd -DFOREGROUND
           ├─5960 /usr/sbin/httpd -DFOREGROUND
           ├─5961 /usr/sbin/httpd -DFOREGROUND
           └─5962 /usr/sbin/httpd -DFOREGROUND

Nov 08 17:53:20 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Nov 08 17:53:20 localhost.localdomain httpd[5953]: AH00558: httpd: Could not reliably determine the server's fully qualified domain na...message
Nov 08 17:53:21 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
  • 停止httpd服务:
代码语言:python代码运行次数:0复制
systemctl stop httpd.service
  • 重启httpd服务:
代码语言:python代码运行次数:0复制
systemctl restart httpd.service
  • 设置开机自启动:
代码语言:python代码运行次数:0复制
systemctl enable httpd.service
  • 查看设置自启动是否成功:
代码语言:python代码运行次数:0复制
systemctl list-unit-files | grep httpd
  • 如下显示则为设置成功了: 在这里插入图片描述在这里插入图片描述

4 如何配置Apache服务器?

4.1 关于httpd.conf配置

  • Apache服务的配置文件为httpd.conf,文件在`/etc/httpd/conf/下: 在这里插入图片描述在这里插入图片描述
  • httpd.conf文件内容说明:

内容

说明

#ServerRoot

全局环境设置

#Main serve rconfiguration

主服务器设置

虚拟主机设置

4.2 常用指令

指令

说明

示例

ServerName

设置Apache服务器的主机名和端口号

ServerName www.noamanelson.com 80

ServerRoot

设置Apache服务器的根目录,包括conf、logs、modules等子目录

ServerRoot /etc/httpd

Listen

设置Apache服务器的监听端口,默认监听80,一般在监听非80时会设置

Listen 8088

DocumentRoot

设置Apache提供的HTML文档根目录 ,默认为/var/www/html

DocumentRoot /www/myweb

Directory

指定Apache服务器根目录的访问权限和方式

<Directory "/var/www">AllowOverride None Require all granted </Directory >

DirectoryIndex

设置Apache服务器网站的主文件,通常为index.html

DirectoryIndex index.html

VirtualHost

设置特定虚拟主机

<VirtualHost 192.168.1.7> DocumentRoot /www/myweb ServerName noamanelson.com </VirtualHost>

ServerAdmin

设置管理员邮箱

ServerAdmin admin@noamanelson.com

TimeOut

设置接收和发送数据时的超时时间

TimeOut 100

ErrorLog

指定Apache服务器使用的错误日志文件

ErrorLog logs/error_log

CustomLog

指定Apache服务器使用的访问日志

/

Include

其他配置文件

/

5 简单实例

  • 主要目标是配置个人Web站点;
  • 建用户NoamaNelson,修改权限,并建立目录public_html: 在这里插入图片描述在这里插入图片描述
代码语言:python代码运行次数:0复制
useradd NoamaNelson
mkdir /home/NoamaNelson/public_html
chmod  711 /home/NoamaNelson/
chmod  755 /home/NoamaNelson/public_html/
  • public_html下建立网页文件index,html:
代码语言:python代码运行次数:0复制
vim /home/NoamaNelson/public_html/index.html
代码语言:python代码运行次数:0复制
Welcome everyone,
This is my Web~~~
  • 配置/etc/httpd/conf.d/userdir.conf文件:
代码语言:python代码运行次数:0复制
<IfModule mod_userdir.c>
    #UserDir disabled
    UserDir public_html
</IfModule>

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    #Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Options None
    Require method GET POST OPTIONS
</Directory>
    Require method GET POST OPTIONS
  • 保存以上文件,重启服务器,关闭防火墙,将Selinux设置为Permissive在这里插入图片描述在这里插入图片描述
代码语言:python代码运行次数:0复制
systemctl start httpd
systemctl stop firewalld.service
setenforce 0
getenforce
  • 在浏览器中输入服务ip/ ~NoamaNelson/即可打开NoamaNelson的个人主页,比如我的是如下: 在这里插入图片描述在这里插入图片描述
代码语言:python代码运行次数:0复制
http://172.28.18.146/~NoamaNelson/

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞