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 相关文章推荐
PHP Token(令牌)设计
Mar 15 PHP
PHP 字符串 小常识
Jun 05 PHP
PHP 图片上传实现代码 带详细注释
Apr 29 PHP
解析ajax事件的调用顺序
Jun 17 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
smarty简单入门实例
Nov 28 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
PHP实现事件机制的方法
Jul 10 PHP
php生成图片验证码的方法
Apr 15 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
laravel解决迁移文件一次删除创建字段报错的问题
Oct 24 PHP
PHP基本语法
Mar 31 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极大的增强功能和性能
2006/10/09 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
node.js中watch机制详解
2014/11/17 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
轮播的简单实现方法
2016/07/28 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
python实现中文输出的两种方法
2015/05/09 Python
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
Python列表的切片实例讲解
2019/08/20 Python
iPython pylab模式启动方式
2020/04/24 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
外贸销售员求职的自我评价
2013/11/23 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
运动会广播稿80字
2014/01/23 职场文书
三八节主持词
2014/03/17 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
南京青奥会口号
2014/06/12 职场文书
项目投资合作意向书
2014/07/29 职场文书
旗帜观后感
2015/06/08 职场文书
python简单验证码识别的实现过程
2021/06/20 Python