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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 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,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
107 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
1月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
81 20
|
2月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
4月前
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####
|
4月前
|
缓存 安全 PHP
深入浅出PHP框架之Laravel的优雅与实用
【10月更文挑战第22天】在PHP的世界里,Laravel如同一股清流,以其优雅的设计和实用的功能赢得了广大开发者的喜爱。本文将带你走进Laravel的世界,探索其背后的设计哲学,以及如何利用Laravel构建高效、可维护的Web应用。从路由到模型,从控制器到视图,我们将一步步揭开Laravel的神秘面纱。
110 3
|
5月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
961 5
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
5月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
647 0
|
5月前
|
中间件 PHP 调度
深入浅出PHP框架之Laravel的优雅
【10月更文挑战第3天】在PHP的世界里,Laravel以其优雅和简洁闻名。本文将带你走进Laravel的世界,探索它的魔法。我们将通过代码示例,一步步揭示Laravel的魅力。准备好,让我们一起开始这场奇妙的旅程吧!
|
5月前
|
存储 前端开发 PHP
深入浅出PHP框架之Laravel的优雅
【9月更文挑战第31天】在编程世界里,PHP语言如同一位多才多艺的老匠人,而Laravel框架则是其手中的精工细作。本文将带你领略Laravel的魅力所在,从其优雅的设计哲学到实用的功能特性,再到如何通过实际代码示例掌握它的核心操作。让我们一起探索Laravel的世界,发现编程之美。
106 6
|
6月前
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境

热门文章

最新文章