根据前文完成了LAMP基本环境的安装,那么接下来就是部署线上的环境了。
yum 安装的apache 目录存在于 /etc/httpd
apache最重要的文件就是 httpd.conf。 目录再 /etc/httpd/conf/httpd.conf
我们进入该文件。 vi /etc/httpd/conf/httpd.conf
#号开头的的 全部为注释,我们可以略过不看,
如上图,apache 的根目录是 /etc/httpd 如果下文使用的是相对路径,那么就自动与这个root关联在一起,这里是不能随便修改的。
apache监听了80号端口,80端口是web应用默认的端口。
这种形式的写法用于置顶该目录的权限,如图说明了软件根目录是拒绝访问的。
在这里我们看到了 apache设置的 项目根目录是 /var/www/html 并且设置了 项目根目录与其上级根目录的访问权限。
关于访问权限的参数这里就不详细讲了,可以在网上看到很多资料。
这里指定了apache访问目录是的默认首页,因为我们准备使用php,因此添加index.php 保存并退出。
修改完配置文件后 重启 apache服务器 service httpd restart
接下来进入 apache的项目根目录。 cd /var/www/html
我们编写一个测试文件
vim index.php
//内容如下
<?php
phpinfo();
?>
保存并退出。
如果一切正常的话,接下来我们就可以通过另外一台电脑在浏览器下 直接访问 我们编写的index.php的内容了
浏览器中输入 服务器域名 或者 ip地址。正常情况我们可以看到php的信息,这代表LAMP环境搭建顺利完成了。
如果浏览器中服务器报错, 那么应该检查 linux中防火墙是否开放80端口,阿里云控制台是否开放80端口,这里读者可以查阅相关信息完成。
那么接下来 我们搭建一个laravel项目试试。我们可以通过xftp软件直接向linux 的 /var/www/html目录下 传递一个laravel的项目。
如图 我把laravel文件改为laravel0 ,读者可以使用自己的文件名。
cd laravelO进行laravel项目的key初始化
php artisan key:generate
回到apache的配置文件
vi /etc/httpd/conf/httpd.conf
直接拉到文档最底部,添加我们的虚拟目录。
<VirtualHost *:80>
DocumentRoot "/var/www/html/laravelO/public"
SetEnv APPLICATION_ENV development
<Directory "/var/www/html/laravelO/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
如图 添加如上的虚拟路径信息保存并退出。
重启apache
service httpd restart
如果没意外,通过浏览器访问服务器应该可以看到 laravel的首页面了。
但是我部署的过程,出现了意外,访问不了。
在这里,我们应该学会如何查看错误日志。
查看apache的错误日志
cat /etc/httpd/logs/error_log
发现了如下信息。 原来是 laravel要求修改一个日记文件,但是apache没有权限去修改。
解决办法:
cd /var/www/html
chmod -R 777 laravel0 //修改laravel0项目及其所有的子目录权限最大,所有人都可以读写执行,不过这种办法通常带来安全隐患。
第二个办法:
chown -R apache:apache laravel0
chmod -R 755 laravel0
原本laravel项目属于root用户,apache服务是通过apache用户运行的,因此apache没有修改laravel的权限。
我们把项目所属用户修改为apache,并赋予权限。
修改完成后通过浏览器就可以正常的访问了,如果还有问题,可以继续查看错误日志。