您的位置:首页 > 运维架构 > Apache

LAMP架构(apache与php结合,apache默认虚拟主机)

2017-12-20 12:21 666 查看
一、apache与php结合
主配置文件/usr/local/apache2.4/conf/httpd.conf[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful (重新加载服务,并不重启服务)
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl start (启动httpd服务)AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message 这是一个警告
解决方法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,192行,ServerName前的#号去掉
接下来发现直接访问ip显示错误错误代码: HTTP ERROR -2146697211
解决办法:1.首先看ip是否ping通。 2.查看80端口是否打开 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 打开80端口 iptables -D INPUT -p tcp --dport 80 -j ACCEPT 关闭80端口
有时候会显示状态码为403,状态码正常为200解决办法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,202行, Require all denied 修改为 Require all granted
因为要支持php,要在配置文件里增加一行,搜索AddType398 AddType application/x-httpd-php .php
增加索引页。搜索 Indexes251 DirectoryIndex index.html index.php
检测php有么有解析成功,在/usr/local/apache2.4/htdocs下创建一个1.php并写入
<?phpinfo(); 这是一个函数,会显示php的详细信息?>
用浏览器访问ip,若出现界面,则表示php解析成功。 /usr/local/php7/bin/php -i | less 和这个命令显示的命令一样,但是是以表格的形式若没有成功:检查有没有加载php模块。
/usr/local/apache2.4/bin/apachectl -M2.有没有php模块ls /usr/local/apache2.4/modules/libphp5.so3.配置文件里有没有有没有加载 libphp5.so 这一行的配置检查有没有加 AddType php 这一行
二、apache默认虚拟主机
(默认虚拟主机:只要servername里么有定义,但是解析到了本机的Ip,则会自动跳转到默认虚拟主机上来)
一个服务器可以访问多个网站。每个网站都是一个虚拟主机。windows和Linux操作系统中,都有一个hosto文件 可以在这个文件里制定一个域名,然后这个域名指向一个ip[root@litongyao ~]# vim /usr/local/apache2.4/conf/httpd.conf
203 ServerName 111.com:80 (定义了主机域名和端口号)225 DocumentRoot "/usr/local/apache2.4/htdocs" (定义了主机目录位置)476 # Virtual hosts (虚拟主机)477 #Include conf/extra/httpd-vhosts.conf (去掉井号,主配置文件的server就失效了)
去掉#可以打开一个虚拟主机配置文件,可以定义多个servername[root@localhost apache2.4]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf ServerAdmin 定义管理员邮箱(可以删除)DocumentRoot 网站的根目录ServerName 访问网站的域名ServerAlias 网站别名ErrorLog 错误日志CustomLog 访问日志写完虚拟配置文件然后要创建相应的目录

<VirtualHost *:80> DocumentRoot "/data/wwwroot/abc.com" ServerName abc.com ServerAlias www.abc.com www.123.com php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp/" ErrorLog "logs/abc.com" CustomLog "logs/abc.com-access_log" common</VirtualHost>
编写完成后,重新加载配置文件[root@litongyao ~]# /usr/local/apache2.4/bin/apachectl graceful

[root@litongyao ~]# /usr/local/apache2.4/bin/apachectl start (启动apache服务)httpd (pid 3490) already running
测试,我们用curl命令,-x可以指定ip.:[root@litongyao ~]# curl -x192.168.52.100:80 abc.comabc.com
两个虚拟主机的servername中都没有定义lty这个域名,我们访问看他会跳转到哪个上。[root@litongyao ~]# curl -x192.168.52.100:80 lty.comabc.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache php 结合