前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux/centos上如何配置管理Web服务器?

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

原创
作者头像
虫无涯
发布2023-11-08 19:03:59
5120
发布2023-11-08 19:03:59
举报
文章被收录于专栏:全栈测试技术

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腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Web简单了解
  • 2 关于Apache
  • 3 如何安装Apache服务器?
    • 3.1 Apache服务安装
      • 3.2 httpd服务的基本操作
      • 4 如何配置Apache服务器?
        • 4.1 关于httpd.conf配置
          • 4.2 常用指令
          • 5 简单实例
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档