安装:
linux:
yum -y install httpd-devel 或 yum -y install httpd
windows:
修改conf的Define SRVROOT的路径
在bin目录下执行命令 安装服务 -n参数为指定服务的名字,如果服务名部位apache,那么启动,重启,停止时需用-n参数执行服务名;安装时提示套接字只允许使用一次(针对443端口时) 可以将conf/extra/ https-ssl.conf和httpd-ahssl.conf的端口443修改或注释
httpd -k install -n Apache
httpd -k uninstall 卸载服务
启动:
linux:
systemctl start httpd.service 启动
systemctl enable httpd.service 设置开机自启
systemctl httpd reload 重载配置
systemctl httpd restart 重启
windows:
httpd -k start 启动不会提示详细的错误信息。
httpd -k start -n apache 会提示详细的错误信息,其中的"apache"修改为你的Apache服务名,可以到计算机服务里找。
httpd -k restart -n apache 重启。
httpd -k stop -n apache 停止服务
net start apache 利用Windows托管服务命令(启动)。
net start apache 利用Windows托管服务命令(重启)。
net start apache 利用Windows托管服务命令(停止)。
公共配置
取消apache的默认欢迎页,linux下:conf.d/welcome.conf (将这个文件的内容注释或改名或删除都可以)
设置访问权限 在 Directory下
AllowOverride None
Order allow,deny order 最后面的优先级更高,当前为先允许后禁止
Allow from 192.168.0.1/24
Deny from 192.168.0.1/24
别名 当访问网站/phpdata/时 资源会转跳转
Alias /phpdata/ "/usr/www/wwwroot/"
<Directory "/usr/www/wwwroot/">
2.4的配置设置为不允许直接访问程序目录,否则程序报错时会直接访问到程序目录
Options +Indexes +FollowSymLinks +ExecCGI
2.2的配置
Options -Indexes FollowSymLinks
AllowOverride None
Rquire all granted
</Directory>
访问验证:
<Directory "/usr/www/wwwroot/">
Options Indexes FollowSymLinks 将当前行注释后,设置为不允许直接访问程序目录,否则程序报错时会直接访问到程序目录
AllowOverride None
authtype basic
authname "me web site"
authuserfile /etc/httpd/conf/ 用户密码文件位置
reruire valid-user
</Directory>
密码文件生成:htpasswd为httpd自带工具
htpasswd -cm /etc/httpd/conf/passwd.secret tom 创建用户tom的密码文件 第一次创建参数为-cm 第二次开始参数为-m 在第一次的基础上累加
配置虚拟主机:三种模式
示例:
<VirtualHost '192.168.0.1:80'>
DocumentRoot /var/www/wwwroot
ServerAdmin admin@server.com
Servername www.1.com
#可以在此处设置多个域名,绑定到一个网站上,多个用空格隔开
ServerAlias
#指定php版本
FcgidInitialEnv PHPRC "E:/phpstudy_pro/Extensions/php/php7.3.4nts"
AddHandler fcgid-script .php
FcgidWrapper "E:/phpstudy_pro/Extensions/php/php7.3.4nts/php-cgi.exe" .php
Error logs/1.error_log
Customlog logs/1.assess_log common
<Directory "E:/PHPproject/certification">
#禁止显示 Apache 文件夹列表
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
#配置起始页
DirectoryIndex index.php index.html error/index.html
</Directory>
</VirtualHost>
1、不同ip
<VirtualHost '192.168.0.1:80'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.1.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
<VirtualHost '192.168.0.2:80'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.1.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
2、不同域名
<VirtualHost '192.168.0.1:80'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.1.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
<VirtualHost '192.168.0.1:80'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.2.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
3、不同端口
<VirtualHost '192.168.0.1:80'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.1.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
<VirtualHost '192.168.0.1:81'>
ServerAdmin admin@server.com
DocumentRoot /var/www/wwwroot
Servername www.2.com
Error logs/1.error_log
Customlog logs/1.assess_log common
</VirtualHost>
apache监控:status监控(自带模块) apachetop(三方的监控)
1、打开status模块 将#号去处 LoadModule status_module modules/mod_status.so
2、开启扩展日志信息 ExtendedStatus On
3、配置status模块
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all;
Allow from all
</Location>
4、进入监控页面 ip/server-status?auto&refresh=5 auto 自动刷新 refresh 刷新间隔时间 可以不使用这两个参数