根据前文完成了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,并赋予权限。

修改完成后通过浏览器就可以正常的访问了,如果还有问题,可以继续查看错误日志。

LAMP环境的搭建(四)----Apache下部署项目的更多相关文章

  1. [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)

    reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...

  2. LAMP环境的搭建

    [一些前言废话]一名web开发尤其是后端不懂LAMP环境的搭建,那就摊上事了,有些人说他一直用win下的wampServer这种傻瓜式环境搭建,用的挺好的,也有人说他用云服务器,搭配“一键搭建LAMP ...

  3. linux之lamp环境的搭建

    linux之lamp环境的搭建 1.安装lamp环境的安装工具 我们的lamp环境都是采用源码包进行编译安装: 编译安装需要工具gcc gcc-c++. 建议在线联网安装:yum  -install ...

  4. Linux:LAMP环境的搭建

    LAMP环境的搭建 安装DNS服务器 安装DNS服务 yum install bind -y DNS的配置 创建正向解析 以创建一个名为"lsy.com"的正向查找区域为例: 第一 ...

  5. maven也是apache下的项目

    maven也是apache下的项目,你看maven官网了,域名都在Apache下

  6. PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建

    最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apache Web服务器 安装之前先更新一下系统 sudo apt-g ...

  7. lamp环境的搭建和安装

    最近,部门有些系统需要迁移到新的机器上,因此需要在新的机器上安装lamp和lnmp的环境,因此在这里总结一下: 一. 安装lamp环境的步骤:  (1).因为是新的机器,因此需要安装gcc的各种环境: ...

  8. <关于J2EE环境的搭建>在Fedora21下的Tomcat,Mysql,jdk以及Intellij的搭建过程

    题外话:一开始很不情愿写这种没有技术含量的博文,但是网上对于fedora21下的整个J2EE环境的搭建过程的文章实在是少之又少,那我就破个例吧:-p (一)JDK的下载及环境变量的设置 如果你对JDK ...

  9. tomcat下部署项目的流程和遇到的问题笔记

    简单部署流程: 1,解析域名关联到服务器ip 2,配置服务器jre运行环境 3,安装tomcat 4,项目打war包,放入tomcat根目录下webapps(tomcat默认加载的项目目录)目录下 5 ...

随机推荐

  1. js 数组里求最大值和最小值

    // 数组里相邻两个数做比较 取满足条件的那个(以此类推) var arr = [1,3,4,5,6,7]; function Max(array){ var max = array[0]; for( ...

  2. Eclipse中配置约束(DTD,XSD)

    在Eclipse中本地配置schema约束(xsd): 1.比如配置spring的applicationContext.xml中的约束条件: 复制applicationContext.xml中如图: ...

  3. rsync定时同步配置

    附上脚本 三大配置文件请看rsync安装与配置 #!/bin/sh #linuxsir.org home backup #/usr/bin/rsync -avzP --password-file=/e ...

  4. 首页音乐播放器添加"多首音乐"

    添加音乐播放器可以去这个博主的网址参考学习 原文链接:http://www.cnblogs.com/RhinoC/p/4695509.html 以下是针对添加“多首音乐”的详细过程: (注:由于之前并 ...

  5. input复选框操作的部分高频率使用代码

    1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $("input:[type='checkb ...

  6. 走进安卓的重灾区----video

    html5的video已经出来很久了.在ios上使用基本上没什么毛病,但是安卓下就是一个重灾区了,各种体验差.这几天搞了安卓的兼容,简直是要吐血.所以特意总结了一些强势的坑点. 先看一下常用的一些属性 ...

  7. (转)Spring注解完成Bean的定义

    使用Spring注解完成Bean的定义 2010-04-21 16:48:54|  分类: spring|举报|字号 订阅     下载LOFTER客户端     通过@Autowired或@Reso ...

  8. 第一个java——swap()交换方法

    其实这学期的java课开了将近四星期了,加上开学前的小小预习.编写不下于二十几个java了. 可这一有关swap()方法的java确实是首次迷惑不解到处寻求解决的程序. 课堂上老师有关类.方法.对象的 ...

  9. 初学 Python(十一)——切片

    初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age ...

  10. listView属性随笔--不断增加中。

    对于一个控件的认识总是会随着时间的推移,而变的逐渐深刻. 简单的就 android:layout_height:属性来说给的数值不同就会有不同的效果,有些时候你根本想不到是跟这个属性的设置有关. 有时 ...