LAMP环境的搭建(四)----Apache下部署项目
根据前文完成了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下部署项目的更多相关文章
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...
- LAMP环境的搭建
[一些前言废话]一名web开发尤其是后端不懂LAMP环境的搭建,那就摊上事了,有些人说他一直用win下的wampServer这种傻瓜式环境搭建,用的挺好的,也有人说他用云服务器,搭配“一键搭建LAMP ...
- linux之lamp环境的搭建
linux之lamp环境的搭建 1.安装lamp环境的安装工具 我们的lamp环境都是采用源码包进行编译安装: 编译安装需要工具gcc gcc-c++. 建议在线联网安装:yum -install ...
- Linux:LAMP环境的搭建
LAMP环境的搭建 安装DNS服务器 安装DNS服务 yum install bind -y DNS的配置 创建正向解析 以创建一个名为"lsy.com"的正向查找区域为例: 第一 ...
- maven也是apache下的项目
maven也是apache下的项目,你看maven官网了,域名都在Apache下
- PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建
最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apache Web服务器 安装之前先更新一下系统 sudo apt-g ...
- lamp环境的搭建和安装
最近,部门有些系统需要迁移到新的机器上,因此需要在新的机器上安装lamp和lnmp的环境,因此在这里总结一下: 一. 安装lamp环境的步骤: (1).因为是新的机器,因此需要安装gcc的各种环境: ...
- <关于J2EE环境的搭建>在Fedora21下的Tomcat,Mysql,jdk以及Intellij的搭建过程
题外话:一开始很不情愿写这种没有技术含量的博文,但是网上对于fedora21下的整个J2EE环境的搭建过程的文章实在是少之又少,那我就破个例吧:-p (一)JDK的下载及环境变量的设置 如果你对JDK ...
- tomcat下部署项目的流程和遇到的问题笔记
简单部署流程: 1,解析域名关联到服务器ip 2,配置服务器jre运行环境 3,安装tomcat 4,项目打war包,放入tomcat根目录下webapps(tomcat默认加载的项目目录)目录下 5 ...
随机推荐
- 深入理解 JavaScript(一)
编写高质量 JavaScript 代码的基本要点 转载:http://wiki.jikexueyuan.com/project/javascript-depth-understanding/start ...
- CJOJ 2040 【一本通】分组背包(动态规划)
CJOJ 2040 [一本通]分组背包(动态规划) Description 一个旅行者有一个最多能用V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2, ...
- 代码托管SVN到Git迁移(使用小乌龟工具)
1.环境信息 Git Server 华为软件开发云 代码托管 SVN Server 本地SVN服务器 Windows Server2012 R2 本地主机 Win ...
- 关于华为P9手机的解锁、刷Recovery、获取Root、安装Busybox,以及升级降级的全过程(和一些错误的解决方法)
我有一部华为P9手机,型号EVA-TL00,属于移动定制机.用了半年多了,想给手机添加一些功能,发现有些功能必须Root之后才能用代码实现,所以动了Root的打算. 一.手机解锁.(不解锁则无法对手机 ...
- 关于PHP魔术方法__call的一点小发现
好久没有上博客园写文章了,今晚终于有点空了,就来写一下昨天的一点小发现. 我自己所知,C++,Java的面向对象都有多态的特点,而PHP没有,但PHP可以通过继承链方法的重写来实现多态的属性.而魔术方 ...
- 关于移动端自动化测试-Appium的搭建
web端我们常用的开源自动化用的是selenium,而移动端我们选择的是Appium,当然也可以使用monkey或者阿里的macaca,他们在理论上都使用了webdriver: 关于Appium环境的 ...
- 浅析python 的import 模块(转)
摘要: 学习python有几天了,对import一直不是很清楚,和C里面的include是否一样,重复引入有问题么?搜索路径是怎样的?整理解决下我的疑问. 一 模块的搜索路径 模块的搜索路径都放在了s ...
- HDU6043 KazaQ's Socks
Problem Description KazaQ wears socks everyday. At the beginning, he has n pairs of socks numbered f ...
- Android学习笔记-ScrollView(滚动条)
本节引言: 本节带来的是Android基本UI控件中的第十个:ScrollView(滚动条),或者我们应该叫他 竖直滚动条,对应的另外一个水平方向上的滚动条:HorizontalScrollView, ...
- C++基本内置类型
C++基本内置类型 基本内置类型包括算术类型和空类型. 算术类型 算术类型包括整型和浮点型. 类型 含义 最小尺寸 bool 布尔型 - char 字符型 8 bit wchar_t 宽字符型 16 ...