Apahce虚拟主机与伪静态
Apache虚拟主机一般在配置多域名的时候使用虚拟主机,比如说在一个服务器配置很多的网站。那就需要多个配置来保证域名访问的网站的内容和源代码和源代码是不一样的。
首先进入cd /etc/httpd/ ls –al
conf配置文件,conf.module.d配置文件模块的配置文件,modules模块
cd conf打开vim httpd.conf 看到很多配置项
配置虚拟主机:在文件最后一行/virtual搜索找到virtual host being defined增加几行,但是发现文件是只读的,退出sudovim httpd.conf提权方式打开输入配置文件,比如想配置虚拟主机
<VirtualHost *:80>
ServerNamewww.jhkj.test
DocumentRoot/data/www
<VirtualHost>
配置过程在http://blog.csdn.net/jhkj_5154/article/details/79312847类似,不过是在windows下的,其实是一样的
配置完后wq重启服务器:sudo service httpd restart
刚才配置了目录是不存在的创建目录 sudo mkdir -p /data/www 后vim index.html
sudo chown –R jhkj:jhkj/data改变所属人,vim编辑即可。
输入那个域名发现无法访问,因为没有买域名。
sudo vim /etc/hosts
在l.test dbmo.local.test…………………..
下面加上 192.163.0.111 www.jhkj.test
Ip是我乱打的自己用自己的
发现还是不行
cd /etc/httpd/ 发现有个logs目录
sudo su –切换用户root进入
access_log表示访问日志进入在访问一次
再来看看error_log是错误信息发现这个目录客户端是无法访问的
再打开httpd.conf文件
找到<Directory>有这么一个配置,我们学他
在之前加入的<Virtual Host *:80>
加上<Directory “/data/www”>
OptionIndexes FollowSymLinks
AllowOverrideNone
Requireall granted
</Directory>
Wq保存后重启服务器sudo servicehttpd restart
这是就可以啦!
一个命令sudo setenforce 1发现不行了,配置成0就可以访问,所以有时候必须设置为0
这个指令是在我们服务器有个设置,这个设置是为了我们的安全设置的,系统本身的多重开关。可以设置成宽松模式或者强制模式,1是强制,0是宽松。sudo setenforce 0是临时关闭
完全关闭 sudo vim /etc/selinux/config 找到enforce删掉改成disable即可
伪静态:这个东西在互联网比较常用。举个例子,访问任何网站后面有个.html但是我们是用PHP去写的,因为我们做了伪静态的操作。虽然看起来是这样的但是还是访问的是php文件,这样有利于我们进行seo操作。如何开启伪静态,进行设置?
Conf.module.d模块配置文件进入modules(放了所有模块的类) cd modlues发现很多模块mod_rewrite.so这个模块就是伪静态模块重写规则!
进入sudo vim httpd.conf第一个命令将我们的rewirte找到/LoadModule
加上LoadModule rewrite_module modules/mod_rewrite.so,重启系统sudoservice httpd restart
这时候伪静态的功能就生效了,我们来配置我们的伪静态
假如我们访问www.jhkj.test/1.htmp
在<Directory>中加入
<IfModule mod_rewrite.c>
RewriteEngineOn
RewriteRule^(.*).htmp$ index.html
</IfModule>
Wq后重启 就可以了
也可以去搜索引擎搜索阿帕奇伪静态的语法进行学习