Webserver(一)——Apache

2018-07-11T15:43:47

[title]Apache的基本操作[/title]

  • 安装:yum install httpd(在centos系统中)
  • 启动:service httpd start
  • 停止:service httpd stop

当在虚拟机中安装完成后,就可以在浏览器里输入ip地址打开,默认端口80,但发现页面打不开,这时我们netstat -anpl | grep "http",发现端口也是打开的,所以关闭一下防火墙,service firewall stop,问题解决。

[title]Apache的虚拟主机配置及伪静态[/title]

编辑配置文件:cd /etc/httpd/ ; vim httpd.conf

找到virtual:/virtual

重启Apache,service httpd restart

然后我们用其他用户名登录,比如我这里用的chunlai账户,ssh chunlai@ip。进入后首先新建一个/data/www,sudo mkdir -p /data/www,然后我们进入data目录下ll一下会发现,www是属于超级管理员root的,这边不想这么麻烦就将目录权限所有人改掉

[chunlai@localhost data]$ cd www
[chunlai@localhost www]$ sudo chown -R chunlai:chunlai /data
[sudo] password for chunlai:
[chunlai@localhost www]$ ll /data
total 0
drwxr-xr-x. 2 chunlai chunlai 6 Jul 10 04:43 www
然后目录就属于chunlai这个用户了,接着vim index.html,随便写点,退出并保存。然后在浏览器中输入ip地址发现还是那个Apache的页面,与想象中显示index.html页面不同。

忘了一个很重要的东西,域名需要解析,cd /etc/hosts

ip bbs.chunlai.com(域名),退出并保存,然后我们在虚拟机里ping一下域名,OK,可以Ping通。

然后我们去修改一下配置文件,cd /etc/httpd/conf/,vim httpd.conf。在上图的位置加一点东西

# virtual host being defined.
#
<VirtualHost *:80>
        ServerName bbs.chunlai.test
        DocumentRoot /data/www
        <Directory "/data/www">
                 Options Indexes FollowSymLinks
                 AllowOverride None
                 Require all granted
        </Directory>
</VirtualHost>

退出并保存,到这里本来就应该可以结束了,但遇到了一个问题,浏览器无法解析bbs.chunlai.test,于是去查看一下日志文件,cd /etc/httpd/logs/ ,cat error_log

问题如上,如果遇到这个问题的话,尝试将setenforece改为宽松模式

[root@bbs logs]# setenforce 0

Ok问题解决~

如果配置多个域名,上面的配置文件那部分复制一下就OK了。

[title]伪静态[/title]

有些网页打开后会发现是.html结尾的,但实际上它是.php文件,它方便了seo

首先还是进入配置文件,将rewrite文件加载进来,vim httpd.conf

# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule rewrite_module modules/mod_rewrite.so

然后重启service httpd restart,这时候功能已经生效了,接下来配置一下伪静态

<VirtualHost *:80>
        ServerName bbs.chunlai.test
        DocumentRoot /data/www
        <Directory "/data/www">
                 Options Indexes FollowSymLinks
                 AllowOverride None
                 Require all granted
                <IfModule mod_rewrite.c>
                        RewriteEngine On
                        RewriteRule ^(.*).htmp$ index.html
                </IfModule>
        </Directory>
</VirtualHost>

RewriteEngine On 是打开重写引擎

RewriteRule 是重写规则,这里的意思是将.htmp变成.html,所以在浏览器url中输入index.htmp依然会显示index.html的页面

结束~

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合MIP标准。