php框架laravel 5.1环境构建(CentOS 6.5)之FastCGI

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

1、理论部分

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

2、实验部分

2.1、实验环境

lfSer:

hostname=laravel-fastCGI

ipaddress=10.168.0.177


client:

hostnmae=client

ipaddress=10.168.0.8

2.2、yum源的安装

In lfSer

1
2
3
4
yum  install  -y https: //mirror .webtatic.com /yum/el6/latest .rpm 
yum  install  -y httpd php56w php56w-fpm php56w-mysql php56w-pdo php56w-mbstring php56w-mcrypt php56w-pear
yum  install  -y mysql mysql-server
yum -y  install  wget unzip

2.3、配置部分

In lfSer

2.3.1、step1

1)检查是否引入php模块(默认开启),主配置文件:

1
grep  ^Include  /etc/httpd/conf/httpd .conf

包含如下内容:

1
Include conf.d/*.conf

查看PHP支持模块配置文件:

1
less  /etc/httpd/conf .d /php .conf

包含如下内容:

1
2
3
4
5
6
7
8
9
10
11
<IfModule prefork.c>
   LoadModule php5_module modules /libphp5 .so
< /IfModule >
<IfModule worker.c>
   LoadModule php5_module modules /libphp5-zts .so
< /IfModule >
 
AddHandler php5-script .php
AddType text /html  .php
 
DirectoryIndex index.php

2)关闭apache的php模块

1
mv  /etc/httpd/conf .d /php .conf  /etc/httpd/conf .d /php .conf.default

2.3.2、step2

启动httpd&mysqld服务:

1
2
3
4
5
6
/etc/init .d /php-fpm  start
chkconfig php-fpm on
/etc/init .d /httpd  start
chkconfig httpd on
/etc/init .d /mysqld  start
chkconfig mysqld on

注:关于MySQL的安全配置请运行,这里不再详述!

1
mysql_secure_installation

2.3.3、step3

配置httpd服务

1)vim编辑/etc/httpd/conf/httpd.conf

启用并更改ServerName(去掉ServerName前面的#)

启用NameVirtaulHost(去掉ServerName前面的#)

1
2
ServerName www.cmdschool.org:80
NameVirtualHost *:80

2.3.4、step4(可选)

1)下载composer并全局安装

1
curl -sS https: //getcomposer .org /installer  | php

2)查看全局命令目录

1
echo  $PATH

显示如下:

1
/usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin : /root/bin

3)移动composer执行文件到全局命令目录(选择分隔符":"的一段路径)

1
mv  composer.phar  /usr/local/bin/composer

2.3.5、step5

安装框架

1)下载框架

1
wget http: //down .golaravel.com /laravel/laravel-master .zip

2)解压框架

1
unzip laravel-master.zip

3)拷贝框架到指定目录

1
2
mkdir  /var/www/www .cmdschool.org
cp  -rf laravel-master/* www.cmdschool.org/

2.3.6、step6

权限设置

1)目录权限设置

1
2
chown  :apache -R www.cmdschool.org
chmod  770 -R www.cmdschool.org

2)确保selinux是Enforcing状态:

1
getenforce

3)恢复预设的selinux type:

1
restorecon -RFvv  /var/www/www .cmdschool.org/

4)检查当前的selinux type:

1
ll -dZ  /var/www/www .cmdschool.org/

2.3.7、step7

设置虚拟目录:

vim编辑/etc/httpd/conf.d/www.cmdschool.org.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<VirtualHost *:80>
     ServerName www.cmdschool.org
 
     DocumentRoot  /var/www/www .cmdschool.org /public/
     <Directory  /var/www/www .cmdschool.org /public/ >
             Options FollowSymlinks
             DirectoryIndex index.php
             AllowOverride All
             Order allow,deny
             Allow from all
     < /Directory >
 
     <LocationMatch  "^(.*\.php)$" >
             ProxyPassMatch fcgi: //127 .0.0.1:9000 /var/www/www .cmdschool.org /public/
     < /LocationMatch >
 
     LogLevel debug
     ErrorLog  /var/log/apache2/www .cmdschool.org.error.log
     CustomLog  /var/log/apache2/www .cmdschool.org.access.log combined
< /VirtualHost >

8)重启httpd服务:

1
2
/etc/init .d /php-fpm  restart
/etc/init .d /httpd  restart

2.3.8、step8

设置防火墙:

vim编辑/etc/sysconfig/iptables

1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重启防火墙:

1
/etc/init .d /iptables  restart

2.4.9、step9

In Client:

以下在windows客户端下测试:

1)修改本机的hosts(相当于dns解析)

1
notepad %SystemRoot%\System32\drivers\etc\hosts

增加如下内容:

1
10.168.0.177 www.cmdschool.org

2)浏览器测试

浏览器测试你可以看到如下提示:

wKioL1ZlQaPBO86GAAA0JhpSOok107.png

3)日志的排查方法

In lfSer:

参阅如下日志可知属于代码级别的错误,排查方法如下:

配置文件日志:

tail -f /var/log/apache2/www.cmdschool.org.error.log

wKioL1ZlQpfAusT_AAEP8HDUDio442.png

监看以上信息表明PHP代码已经完成送到fastCGI网关

tail -f /var/log/php-fpm/error.log

wKiom1ZlQp3SwsZWAABUkDLyr4Q598.png

监看以上日志无任何反应,证明php-fpm解析php代码无任何异常。

tail -f /var/www/www.cmdschool.org/storage/logs/laravel.log

wKiom1ZlQ6aw2VkuAAIdI-OVT4M009.png

监看以上信息发现错误,可见这种错误是框架已经预见的,应该由php程序员处理,与运维无关。









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1720282,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11天前
|
缓存 安全 PHP
【PHP开发专栏】Symfony框架核心组件解析
【4月更文挑战第30天】本文介绍了Symfony框架,一个模块化且高性能的PHP框架,以其可扩展性和灵活性备受开发者青睐。文章分为三部分,首先概述了Symfony的历史、特点和版本。接着,详细解析了HttpFoundation(处理HTTP请求和响应)、Routing(映射HTTP请求到控制器)、DependencyInjection(管理依赖关系)、EventDispatcher(实现事件驱动编程)以及Security(处理安全和认证)等核心组件。
|
1月前
|
Linux PHP
linux centos7 安装php7.4 实测 遇到的坑
linux centos7 安装php7.4 实测 遇到的坑
50 0
|
11天前
|
存储 安全 PHP
【PHP 开发专栏】PHP 框架入门与选择
【4月更文挑战第30天】本文介绍了PHP框架的基础知识,强调其在提高开发效率和代码质量上的优势。文中列举了常见的PHP框架,如Laravel(适合复杂项目)、Symfony(适合企业级应用)、CodeIgniter(轻量级,适用于中小型项目)、Yii(高性能,适合大型应用)和Phalcon(极佳性能,适合高并发场景)。选择框架时,应考虑项目需求、学习曲线、社区支持和技术栈兼容性。
|
7天前
|
IDE 网络安全 PHP
IJ中PHP环境的搭建和使用教程
搭建PHP环境与配置IDE,在学习网络安全的过程中,了解并掌握编程语言是必要的。本文主要介绍了如何搭建PHP开发环境以及在IntelliJ IDEA (IJ) 中配置PHP环境,以方便进行PHP代码的编写和测试。本章是在学习网络安全过程中,我们需要对两门编程语言有所了解,今天要进行的就是其中的一门.
|
11天前
|
设计模式 前端开发 PHP
【PHP开发专栏】Laravel框架快速上手
【4月更文挑战第30天】本文介绍了Laravel,一个流行的PHP Web框架,以其优雅语法和简洁设计受开发者喜爱。内容分为三部分:1) 环境准备与项目创建,包括安装Composer和使用Laravel安装器创建新项目;2) 基本概念和核心组件,涉及路由、控制器、模型和视图的使用;3) 进阶功能与实战应用,如用户认证、表单验证和邮件发送。通过学习,读者可快速上手Laravel,进行高效Web应用开发。
|
11天前
|
设计模式 前端开发 PHP
【PHP开发专栏】ThinkPHP框架实战开发
【4月更文挑战第29天】ThinkPHP是中国流行的PHP框架,以其轻量级、模块化和高安全性受到开发者欢迎。本文介绍了ThinkPHP的基础,包括MVC设计模式,以及核心组件如路由、数据库操作、表单处理、模板引擎和错误处理。通过一个博客系统示例,展示了如何进行项目开发,包括控制器、模型和视图的创建。使用ThinkPHP能有效提升开发效率,帮助开发者快速构建复杂的Web应用。
|
11天前
|
缓存 中间件 PHP
【PHP开发专栏】PHP框架中的路由与中间件
【4月更文挑战第29天】本文探讨了PHP框架中的路由和中间件概念。路由负责将HTTP请求映射到控制器方法,提供灵活的请求处理和URL管理。中间件则是在请求处理前后插入的代码,用于实现如身份验证、日志等功能,与业务逻辑解耦。通过Laravel框架的示例展示了如何定义路由和创建中间件,以实现代码的模块化和可维护性。
|
12天前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
29 4
|
13天前
|
安全 Linux 网络安全
【专栏】CentOS 8 最小安装提供了一个精简高效的环境
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。
|
16天前
|
网络协议 Java 应用服务中间件
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
11 0

热门文章

最新文章