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脚本中include文件出错解决方法
Nov 20 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
PHP 编程安全性小结
Jan 08 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
php+highchats生成动态统计图
May 21 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
基于PHPexecl类生成复杂的报表表头示例
Oct 14 PHP
详解Yaf框架PHPUnit集成测试方法
Dec 27 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 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使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中每次处理一个字符的5种方法
2015/05/21 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
日期和时间问题
2015/01/04 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
群众路线批评与自我批评
2014/02/06 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
幼儿园见习报告
2014/10/30 职场文书
导游词欢迎词
2015/02/02 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android