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

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 复制代码
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/
相关推荐
爱吃喵的鲤鱼几秒前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler13 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
九河云2 小时前
如何选择适合的AWS EC2实例类型
服务器·云计算·aws
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩3 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布3 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
紅色彼岸花3 小时前
第六章:DNS域名解析服务器
运维·服务器