根据前文完成了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. [Oracle]高水位标记(HWM)

    (一)高水位标记(High Water Mark,HWM)的概念 所谓高水位标记,是指一个已经分配的段中,已经使用的空间与未使用的空间的分界线.在表的使用过程中,随着数据的不断增多(insert),H ...

  2. 解决React Native unable to load script from assets index.android.bundle on windows

    React Native运行的时候,经常碰到React Native unable to load script from assets index.android.bundle on windows ...

  3. lombok的简单介绍和使用方法

    这是上周在群里发现有人推荐lombok,他说是神器,当时就引起了我的好奇,然后下班回来我就看了看官网介绍(菜鸟英语水平),这就是难点了,然后就是大概了解了一下,就在网上查了查相关资料,周末的时候自己试 ...

  4. 玩玩微信公众号Java版之四:自定义公众号菜单

    序: 微信公众号基本的菜单很难满足个性化及多功能的实现,那么微信能否实现自定菜单呢,具体的功能又如何去实现么?下面就来学习一下微信自定义公众号菜单吧! 自定义菜单接口可实现多种类型按钮,如下: 1.c ...

  5. (转)Mysql数据库存储引擎

    什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.     我们通常说的MySql数据库,sql server数据库等 ...

  6. Java IO(一):IO和File

    一.IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络.IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入.输出,这些类都被放在 ...

  7. C#中的ToString格式大全

    // C# 日期格式 DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString() ...

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

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

  9. Angular4.0从入门到实战打造在线竞拍网站学习笔记之三--依赖注入

    Angular4.0基础知识之组件 Angular4.0基础知识之路由 依赖注入(Dependency Injection) 正常情况下,我们写的代码应该是这样子的: let product = ne ...

  10. 性能测试——jmeter环境搭建,录制脚本,jmeter参数化CSV

    一.Jmeter+jdk环境搭建 1.http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk. 直接安装就行了 ...