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
服务,如下:
rpm -qa | grep httpd
- 我的是已经安装了如下:
- 如果没有安装,可以使用以下命令安装:
yum -y install httpd
3.2 httpd服务的基本操作
systemctl status httpd.service
- 如下显示,我的还没有启动:
- 启动
httpd
服务:
systemctl start httpd.service
[root@localhost ~]
[root@localhost ~]
● 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.
systemctl stop httpd.service
systemctl restart httpd.service
systemctl enable httpd.service
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
:
useradd NoamaNelson
mkdir /home/NoamaNelson/public_html
chmod +711 /home/NoamaNelson/
chmod +755 /home/NoamaNelson/public_html/
- 在
public_html
下建立网页文件index,html
:
vim /home/NoamaNelson/public_html/index.html
Welcome everyone,
This is my Web~~~
- 配置
/etc/httpd/conf.d/userdir.conf
文件:
<IfModule mod_userdir.c>
UserDir public_html
</IfModule>
<Directory "/home/*/public_html">
AllowOverride FileInfo AuthConfig Limit Indexes
Options None
Require method GET POST OPTIONS
</Directory>
Require method GET POST OPTIONS
- 保存以上文件,重启服务器,关闭防火墙,将
Selinux
设置为Permissive
:
systemctl start httpd
systemctl stop firewalld.service
setenforce 0
getenforce
- 在浏览器中输入
服务ip/ ~NoamaNelson/
即可打开NoamaNelson
的个人主页,比如我的是如下:
http://172.28.18.146/~NoamaNelson/