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

1 Web简单了解

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

2 关于Apache

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

3 如何安装Apache服务器?

3.1 Apache服务安装

  • 先检查系统上是否已经安装了Apache服务,如下:
python 复制代码
rpm -qa | grep httpd
  • 我的是已经安装了如下:
  • 如果没有安装,可以使用以下命令安装:
python 复制代码
yum -y install httpd

3.2 httpd服务的基本操作

  • 查看httpd服务的运行状态:
python 复制代码
systemctl status httpd.service
  • 如下显示,我的还没有启动:
  • 启动httpd服务:
python 复制代码
systemctl start httpd.service
  • 启动后如下显示:
python 复制代码
[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 复制代码
systemctl stop httpd.service
  • 重启httpd服务:
python 复制代码
systemctl restart httpd.service
  • 设置开机自启动:
python 复制代码
systemctl enable httpd.service
  • 查看设置自启动是否成功:
python 复制代码
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 复制代码
useradd NoamaNelson
mkdir /home/NoamaNelson/public_html
chmod +711 /home/NoamaNelson/
chmod +755 /home/NoamaNelson/public_html/
  • 在public_html下建立网页文件index,html:
python 复制代码
vim /home/NoamaNelson/public_html/index.html
python 复制代码
Welcome everyone,
This is my Web~~~
  • 配置/etc/httpd/conf.d/userdir.conf文件:
python 复制代码
<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 复制代码
systemctl start httpd
systemctl stop firewalld.service
setenforce 0
getenforce
  • 在浏览器中输入服务ip/ ~NoamaNelson/即可打开NoamaNelson的个人主页,比如我的是如下:
python 复制代码
http://172.28.18.146/~NoamaNelson/
相关推荐
雯宝1 小时前
mnt_init 函数
linux
律宏阔7 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔7 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴7 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千8 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei378 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei378 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei378 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
GeW8 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
百万蹄蹄向前冲8 小时前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js