Linux-Apache服务器的安装配置
安装
yum -y install httpd
systemctl { start | stop | status | restart } httpd.service
systemctl { enable | disable } httpd.service
// 标准三步 安装启动自启动
apachectl configtest
// 检测配置文件语法正确
Apache的服务概览如下:
服务类型:由Systemd启动的守护进程
配置单元: /usr/lib/systemd/system/httpd.service
守护进程: /usr/sbin/httpd
端口: 80(http), 443(https)
配置: /etc/httpd/conf/httpd.conf
网页位置: /var/www/html/
相关软件包: mod_ssl
配置
ifconfig ens33:0 192.168.1.51 netmask 255.255.255.0 up
// 添加虚拟网卡
主配置文件: /etc/httpd/conf/httpd.conf
// 每一行包含一个指令,在行尾使用反斜杠”\”可以表示续行。
// 无顺序,放哪里都行
(1)全局环境配置命令
ServerRoot:用于设置服务器的根目录
Listen:服务器监听的端口号。
(2)主服务器配置命令
ServerName:设置主机名称。
DocumentRoot:用于设置Apache默认站点根目录。
UserDir public_html:用户可以在自己的目录下建立public_html目录来放置网页。
DirectoryIndex:用来设定主页,可以设置多个页面,前面的页面优先级高。
<IfModule prefork.c> \\设置使用perfork MPM运行方式的参数
StartServers 8 \\服务器启动时,执行8个httpd进程
MinSpareServers 5 \\最小的备用程序数量为5
MaxSpareServers 20 \\最大的备用程序数量为20
ServerLimit 256 \\服务器允许的进程数上限为256
MaxClients 256 \\服务器允许启动的最大进程数为256
MaxRequestsPerChild 4000 \\服务进程允许的最大请求数为4000
</IfModule>
<IfModule worker.c>
StartServers 2 \\服务器启动的服务进程数量为2
MaxClients 150 \\服务器允许启动的最大进程数为150
MinSpareThreads 25 \\保有的最小工作线程数目为25
MaxSpareThreads 75 \\允许保有的最大工作线程数目为75
ThreadsPerChild 25 \\每个服务进程中的工作线程常数为25
MaxRequestsPerChild 0 \\服务进程允许的最大请求数不限
</IfModule>
<VirtualHost 192.168.1.50:80>
// ip地址和端口
ServerAdmin root@zyxweb.com
// 管理员邮箱
DocumentRoot /var/www/w1
// 网站路径
ServerName w1.zyxweb.com
// 网站域名
ErrorLog logs/w1-error_log
// 错误日志
CustomLog logs/w1-access_log common
// 自定义日志
</VirtualHost>
<VirtualHost 192.168.1.51:80>
ServerAdmin root@zyxweb.com
DocumentRoot /var/www/w2
ServerName w2.zyxweb.com
ErrorLog logs/w2-error_log
CustomLog logs/w2-access_log common
</VirtualHost>
网站目录:/var/www/[自建目录]
echo hello w1! > /var/www/w1/index.html
// 网站下方新建index.html
本地测试修改host: /etc/hosts
192.168.1.50 w1.sdflc.com
192.168.1.51 w2.sdflc.com
起别名
Alias : 别名
alias /down "/var/www/test"
<VirtualHost 192.168.1.50:80>
ServerAdmin root@sdflc.com
DocumentRoot /var/www/w1
ServerName w1.sdflc.com
<directory /var/www/test> ~
options indexes multiviews
allowoverride none
order allow,deny
allow from all
</directory> ~
ErrorLog logs/w1-error_log
CustomLog logs/w1-access_log common
</VirtualHost>
基于域名的虚拟主机配置
一个域名 --> 1个ip
1个ip --> 多个域名
w1.sdflc.com,w2.sdflc.com --> 192.168.0.50
namevirtualhost 192.168.1.50:80 ~
alias /down "/var/www/test"
<VirtualHost 192.168.1.50:80>
ServerAdmin root@sdflc.com
DocumentRoot /var/www/w1
ServerName w1.sdflc.com
<directory /var/www/test>
options indexes multiviews
allowoverride none
order allow,deny
allow from all
</directory>
ErrorLog logs/w1-error_log
CustomLog logs/w1-access_log common
</VirtualHost>
<VirtualHost 192.168.1.50:80>
ServerAdmin root@sdflc.com
DocumentRoot /var/www/w2
ServerName w2.sdflc.com
ErrorLog logs/w2-error_log
CustomLog logs/w2-access_log common
</VirtualHost>
基于认证的配置
order allow,deny // 这个顺序很重要!!!!!!!!先拒绝在允许就是白名单
allow from 192.168.0.1
deny from all
用户的认证
htpasswd [选项] [密码文件的名称] [用户名]
-c 创建一个新的密码文件 再次添加用户时不需要加
-m 采用md5编码加密
添加root账户
authname "w2 passwd" // 认证名称
authtype basic // 认证类型
authuserfile [自定义密码文件路径] // 认证文件名称
require user centos // 只能使用centos
或
require valid-user // 允许所有认证文件的用户
require group [组名]:用户1 用户2
Apache日志字段说明
格式说明 | 描述 |
%a | 远程IP地址 |
%A | 本地IP地址 |
%b | 所发送的字节数,不包含http头 |
%{variable}e | Variable环境变量的内容 |
%h | 远程主机 |
%f | 文件名 |
%m | 请示方法 |
%l | 远程登录名 |
%r | 请求的第一行 |
%t | 时间,按照默认的格式 |
%U | 请求的URL路径 |
%v | 请求的服务器名称 |
%P | 服务请求的子进行ID |
%p | 服务器响应请求时使用的端口 |
%s | 状态 |
%u | 远程用户 |
阅读剩余
版权声明:
作者:ZYX
链接:https://zyxweb.cn/linux-apache%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%9a%84%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae/
文章版权归作者所有,未经允许请勿转载。
THE END