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/288430.html