httpd
nginx
tomcat
L:CentOS
A:Apache
M:MySQL
P:PHP
工作模式:
三种工作模式:
UV:独立访客数量
一个IP:并发访问UV–>打开多个网页(pv)
PV:页面浏览量
拥有一个个人网站:
部署yum源–>使用本地yum源即可;
#编写repo文件
[root@LJW ~]# vim /etc/yum.repos.d/local.repo
[local-repo]
name=local-repo
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
#挂载使用
[root@LJW ~]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
直接yum安装
#查看相关联的软件包
[root@LJW ~]# ls /mnt/cdrom/Packages/httpd-*
/mnt/cdrom/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
/mnt/cdrom/Packages/httpd-devel-2.4.6-88.el7.centos.x86_64.rpm
/mnt/cdrom/Packages/httpd-manual-2.4.6-88.el7.centos.noarch.rpm
/mnt/cdrom/Packages/httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
#然后直接yum安装即可-->
[root@LJW ~]# yum -y install httpd
#然后直接启动
[root@LJW ~]# systemctl start httpd
#查看端口
[root@LJW ~]# netstat -antlup | grep :80
tcp6 0 0 :::80 :::* LISTEN 6731/httpd
#查看httpd的版本
[root@LJW ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Nov 5 2018 01:47:09
#查看网站的状态
[root@LJW ~]# curl -I 192.168.75.131
HTTP/1.1 403 Forbidden
Date: Sun, 16 Jul 2023 07:34:26 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8
配置文件的位置:
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.....
ServerRoot "/etc/httpd" #用于指定Apache运行的根目录
Listen 80 #监听80端口,默认的就是80端口
MaxClients 256 #指定同时能访问服务器的客户机数量为256
DocumentRoot "/var/www/html" #网页文件存放的目录
DirectoryIndex index.html index.html.var #默认网站主页
Include conf.d/*.conf #读取/etc/httpd/conf/conf.d/目录中所有以.conf结尾的文件
ServerName www.wg.com #域名
ServerAdmin #设置管理员的邮箱
Include conf.d/*.conf #包含的子配置文件
User apache #用户是apache
Group apache #用户组是apache
Directory #认证授权和访问控制
Options FollowSymLinks #Options Indexes 目录浏览FollowSymLinks 用连接
AddDefaultCharset UTF-8 #支持的语言,默认编码
LoadModule #加载动态模块
##################################
<IfModule prefork.c> #当httpd服务使用的profork模型的时候:
StartServers 10 #默认启动10个作业进程
MinSpareServers 10 #空闲进程数不低于10个
MaxSpareServers 20 #空闲进程数最大20个
ServerLimit 256 #最多可以启动256个进程
MaxClients 256 #最大并发客户端数为256个
MaxRequestsPerChild 4000 #每个进程可以处理4000个请求,超过此数目进程被杀死并重新创建
</IfModule>
要求如下:
#直接安装httpd
[root@LJW ~]# yum -y install httpd
#按照要求配置web服务器
#备份一下配置文件
[root@LJW ~]# cp /etc/httpd/conf/httpd.conf{,.bak}
#然后按要求配置
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..........
31 ServerRoot "/etc/httpd" #设置默认的配置文件
.............
42 Listen 80 #指定监听的端口
..........
87 ServerAdmin [email protected] #设定默认的邮箱
..............
119 DocumentRoot "/var/www/html" #修改根目录的位置,
...........
316 AddDefaultCharset UTF-8 #设置中文编码
#填写好了之后就重启httpd--->没有报错就可以了
[root@LJW ~]# systemctl restart httpd
要求:
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..........#在末行添加
355 <Directory "/var/www/html/bbs">
356 <RequireALL>
357 Require all granted
358 </RequireALL>
359 </Directory>
#重启服务
[root@LJW ~]# systemctl restart httpd
#然后创建资源
[root@LJW ~]# mkdir /var/www/html/bbs/
[root@LJW ~]# echo "This is BBS" >> /var/www/html/bbs/index.html
#访问测试-->这里注意,一定要带上/
[root@Node2 ~]# curl 192.168.75.131/bbs/
This is BBS
#修改配置文件-->多增加一个标签
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.......#在末行添加
<Directory "/var/www/html/liangjiawei">
<RequireALL>
Require all denied
</RequireALL>
</Directory>
#重启
[root@LJW ~]# systemctl restart httpd
#创建资源
[root@LJW ~]# systemctl restart httpd
[root@LJW ~]# mkdir /var/www/html/liangjiawei/
[root@LJW ~]# echo "This is liangjiawei" >> /var/www/html/liangjiawei/index.html
#测试:-->本机测试
[root@LJW ~]# curl 192.168.75.131/liangjiawei/index.html
<p>You don't have permission to access /liangjiawei/index.html
#修改配置文件-->多增加一个标签
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.......#在末行添加
<Directory "/var/www/html/liangjiawei">
<RequireALL>
Require host node1
Require ip 192.168.75.132
</RequireALL>
</Directory>
#重启
[root@LJW ~]# systemctl restart httpd
#测试
[root@Node2 ~]# curl 192.168.75.131/liangjiawei/index.html
This is liangjiawei
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.........
<Directory "/var/www/html/bbs">
<RequireALL>
Require all granted
Require not ip 192.168.75.132
</RequireALL>
#重启
[root@LJW ~]# systemctl restart httpd
#测试
[root@Node2 ~]# curl 192.168.75.131/bbs/
........
<p>You don't have permission to access /bbs/
总结:
别名目录:就是虚拟目录
#创建资源
[root@LJW ~]# mkdir /usr/local/data/
[root@LJW ~]# echo "This is data.txt" >> /usr/local/data/index.html
#修改apache的配置文件,
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
..#在最后添加如下信息.......
367 Alias /data/ "/usr/local/data/"
368 <Directory /usr/local/data/>
369 AllowOverride none
370 Options Indexes FollowSymLinks
371 Require all granted
372 </Directory>
#重新读取配置文件
[root@LJW ~]# systemctl restart httpd
#测试验证
[root@Node2 ~]# curl 192.168.75.131/data/
This is data.txt
要求:
#创建实验环境
[root@LJW ~]# cd /var/www/html/
[root@LJW html]# ls
bbs liangjiawei
[root@LJW html]# cd bbs/
[root@LJW bbs]# mkdir list
[root@LJW bbs]# echo "hello the word " >> liangjiawei.txt
[root@LJW bbs]# cd /var/www/html/
[root@LJW html]# tree
.
├── bbs
│ ├── index.html
│ ├── liangjiawei.txt
│ └── list
└── liangjiawei
└── index.html
#移除走apache的默认页面
[root@LJW html]# mv /etc/httpd/conf.d/welcome.conf /tmp/
如果直接访问IP
#修改配置文件
[root@LJW ~]# vim /etc/httpd/conf/httpd.conf
.........
367 Alias /data/ "/usr/local/data/"
368 <Directory /usr/local/data/>
369 AllowOverride none
370 #Options Indexes FollowSymLinks
371 #Require all granted
372 AuthType Basic #authtype命令:指定认证类型为:basic。
373 AuthName "liangjiawei web "
374 AuthUserFile /etc/httpd/conf/passwd.secret
375 Require valid-user #在AuthUserFile指定的文件中任何用户都可以访问)
376 </Directory>
#然后创建用户文件-->第一次创建需要+上-c选项
[root@LJW ~]# htpasswd -cm /etc/httpd/conf/passwd.secret liangjiawei
New password:
Re-type new password:
Adding password for user liangjiawei
#第二次添加可以不用+选项-c
[root@LJW ~]# htpasswd -m /etc/httpd/conf/passwd.secret huangzhiming
New password:
Re-type new password:
Adding password for user huangzhiming
#查看一下里面的内容
[root@LJW ~]# cat /etc/httpd/conf/passwd.secret
liangjiawei:$apr1$0azIyzN6$fVE1nCCG0.agYjLlfXCvI1
huangzhiming:$apr1$8nMPwad/$h1iv59wT6DOAbC/Q3o.y9.
#重启apache服务
[root@LJW ~]# systemctl restart httpd
浏览器登陆
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zpb8tEfY-1687246471633)(C:\Users\11146\AppData\Roaming\Typora\typora-user-images\1687246140027.png)]
作用:用于创建和更新储存用户名、域和用户基本认证的密码文件
语法:htpasswd + 选项 + 文件路径 + 用户名
选项: