根据前文完成了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. 简单介绍Struts2

    Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...

  2. MySQL日志文件之错误日志和慢查询日志详解

    今天天气又开始变得很热了,虽然很热很浮躁,但是不能不学习,我在北京向各位问好.今天给大家分享一点关于数据库日志方面的东西,因为日志不仅讨厌而且还很重要,在开发中时常免不了与它的亲密接触,就在前几天公司 ...

  3. c++ vector(向量)使用方法详解(顺序访问vector的多种方式)

    来源:http://www.jb51.net/article/44231.htm 作者: 字体:[增加 减小] 类型:转载 时间:2013-12-08我要评论 vector是向量类型,它可以容纳许多类 ...

  4. 【Django】django 处理request流程细节(转)

    首先发生的是一些和 Django 有关(前期准备)的其他事情,分别是: 如果是 Apache/mod_python 提供服务,request 由 mod_python 创建的 django.core. ...

  5. JAVA二维数组的复制

    JAVA二维数组的复制 笔者今天做一道ccf题目时,遇到要将二维数组拷贝复制时,没有用常规的那种一个一个数的复制,用的是System.arraycopy()来进行复制,下面介绍这个函数的一些注意点: ...

  6. 阿里消息队列中间件 RocketMQ源码解析:Message发送&接收

  7. 拯救莫莉斯[GDOI2014]

    时间限制:1s     内存限制:256MB 问题描述 莫莉斯·乔是圣域里一个叱咤风云的人物,他凭借着自身超强的经济头脑,牢牢控制了圣域的石油市场. 圣域的地图可以看成是一个n*m的矩阵.每个整数坐标 ...

  8. Dapper入门教程(一)——Dapper介绍

    Dapper是什么? Dpper是一款.Net平台简单(Simple)的对象映射库,并且Dapper拥有着"微型ORM之王"的称号.就速度而言与手写ADO.NET SqlDateR ...

  9. canvas的学习

    canvas的学习 一. //获取画布 var mycanvasEle = document.getElementById("mycanvas");二. //内容 var ctx ...

  10. Java中parse()和valueOf(),toString()的区别

    1.parse()是SimpleDateFomat里面的方法,你说的应该是parseInt()或parsefloat()这种方法吧, 顾名思义 比如说parseInt()就是把String类型转化为i ...