Symfony2在Nginx下的配置方法图文教程


Posted in PHP onFebruary 04, 2016

本文详细讲述了Symfony2在Nginx下的配置方法。分享给大家供大家参考,具体如下:

网上有很多关于symfony2在nginx下的配置文章,如果是小白,按照网上贴出来的配置文件配置,却怎么也不成功,我经过多次摸索,写下心得:

1. 首先开启Nginx的pathinfo

至于什么是pathinfo,可以参考文章《nginx下支持PATH_INFO的方法实例详解》,自行脑补。很多人按照教程配置的时候,会报500的错误,查报错日志也查不出来,八成就是没有开启pathinfo。

如果你的主机上安装了AMH,那么恭喜你,配置就容易了。先安装“AMPathinfo”模块,然后在这个模块的列表上,开启你网站的pathinfo

Symfony2在Nginx下的配置方法图文教程

Symfony2在Nginx下的配置方法图文教程

如果你的主机上没有安装AMH,也不用着急,开启pathinfo,其实就是添加了两行配置代码

fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;

不知道怎么添加吗?别急,下面会告诉你

2. 主配置文件

在每个nginx的站点下,都有一个主配置文件,他们都放在/alidata/server/nginx/conf/vhosts下面(你的路径可能和我的不一样,输入命令”nginx -t”可以查看),现在晒出主配置文件

server {
    listen    80;
    server_name www.sample.com; #主机域名,不要说不认识
    index index.html index.htm index.php app.php; #默认的主文件,我自己加了app.php
    set $subdomain '';
    root /alidata/www/sample/web; #网站代码的磁盘物理路径,注意symfony的根目录是web
    include rewrite/symfony2.conf; #rewrite end # 这个是引入symfony相关的配置
    location ~ \.php(/.*)?$
    {
        #fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$; #pathinfo的关键配置
        fastcgi_param PATH_INFO $fastcgi_path_info; #pathinfo的关键配置
        include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires 30d;
    }
    location ~ .*\.(js|css)?$ #js,css的文件缓存时间
    {
        expires 1h;
    }
    access_log /alidata/log/nginx/access/sample.log; #报错日志
}
~

3. Symfony有关的配置

这是我自己摸索出来的, symfony官网上也有nginx的配置说明,我试了,没有看懂,也没有成功。还记得上一段配置中有一句是include rewrite/symfony2.conf吗,现在就来贴出这个配置文件

location / {
    index app.php;
    try_files $uri @rewriteapp;
  }
location @rewriteapp {
    rewrite ^(.*)$ /app.php/$1 last;
  }

你看代码不是很多吧,真正有关symfony的配置就是这些。记得要把这份配置文件放在rewrite文件夹下

本文永久地址:http://blog.it985.com/8147.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

PHP 相关文章推荐
解析posix与perl标准的正则表达式区别
Jun 17 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
Yii分页用法实例详解
Dec 04 PHP
php实现中文转数字
Feb 18 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
PHP children()函数讲解
Feb 03 PHP
PHP函数积累总结
Mar 19 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
Symfony2安装的方法(2种方法)
Feb 04 #PHP
Symfony生成二维码的方法
Feb 04 #PHP
twig模板常用语句实例小结
Feb 04 #PHP
Symfony2 session用法实例分析
Feb 04 #PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 #PHP
php session实现多级目录存放实现代码
Feb 03 #PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 #PHP
You might like
php的curl实现get和post的代码
2008/08/23 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
PHP中的session安全吗?
2016/01/22 PHP
php调用自己java程序的方法详解
2016/05/13 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
基于jQuery实现的旋转彩圈实例
2015/06/26 Javascript
JavaScript中this详解
2015/09/01 Javascript
理解JS事件循环
2016/01/07 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
单位实习证明怎么写
2014/01/17 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
中秋手机店促销方案
2014/06/16 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
初中信息技术教学计划
2015/01/22 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
JS 基本概念详细介绍
2021/10/16 Javascript