apache 配置与使用
1.默认虚拟主机
虚拟主机(共享主机,又称虚拟服务器)是一种在单一主板或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术,虚拟主机之间完全独立,并由用户自行管理,虚拟并非指不存在,而是把空间有实体的服务器延展而来,由硬件系统可以是服务器群,或者单个服务器。
格式如下:
<virtualHost>...</virtualHost>
参数如下
ServerAdmin #指定管理员邮箱 DocumentRoot #指定站点更目录 ServerName #指定网站域名 ServerAlias #指定网站的二级域名
ErrorLog #指定站点的错误日志
Customlog #指定站点的访问日志
2.用户认证
用户认证用来对某些目录中的网页进行访问控制,当用户访问这些网页时候需要输入相应的账号密码来进行认证。
如何配置:
vi /usr/local/apache2.4/conf/extra/httpd-vhost.conf
<VirtualHost *:80>
DoucumentRoot "/data/wwwroot/testdomain.com"
ServerName www.testdomain.com
<Directory /data/wwwroot/testdomain.com>
AllowOverride AuthConfig
AuthName "testdomain.com user auth"
AuthType Basic
AuthUesrFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd test
/usr/local/apache2.4/bin/apachect -t
#返回结果 Syntax ok
/usr/local/apache2.4/bin/apachectl graceful
进行访问:
域名跳转
将123.com 跳转为www.123.com
配置:
<virtualHost *:80>
Documentroot "/data/wwwroot/testdomain.com"
servername www.testdomain.com
serveralias testdomain.com
<ifModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST}!^www.testdomain.com$
RewriteRule ^/(.*)$ http://www.testdomain.com/\ [R=301,L]
</IfModule>
</VritualHost>
rewrite模块支持:
/usr/local/apache2.4/bin/apachectl -M | grep -i rewrite
验证:
/usr/local/apache2.4/bin/apchectl -M | grep -i rewrite 如果返回结果为Rewrite_module(share)
验证结果:
访问日志配置
访问日志作用很大,不仅可以记录网站的访问情况,还可以在网站有异常发生时帮助我们定位问题。
进行配置:
vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
<ifModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST}!^www.testdomain.com$
RewriteRule ^/(.*)$ http://www.testdomain.com/\ [R=301,L]
</IfModule>
customlog "logs/123.com-access_log" combined
</virtualhost>
保存后测试并重新加载:
/usr/local/apache2.4/bin/apachectl -t
syntax ok
/usr/local/apache2.4/bin/apachectl graceful
tail /usr/local/apache2.4/logs/123.com-access_log
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/288430.html