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应用提速面面观
Oct 09 PHP
PHP个人网站架设连环讲(二)
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
FleaPHP的安全设置方法
Sep 15 PHP
精美漂亮的php分页类代码
Apr 02 PHP
解析PHP中的unset究竟会不会释放内存
Jul 18 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
May 04 PHP
浅析PHP编程中10个最常见的错误
Aug 08 PHP
php操作redis缓存方法分享
Jun 03 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
php 获取xml接口数据的处理方法
May 31 PHP
PHP安装BCMath扩展的方法
Feb 13 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缓冲区用法总结
2016/02/14 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
小巧强大的jquery layer弹窗弹层插件
2015/12/06 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
深入了解JavaScript 私有化
2019/05/30 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
Python中运算符"=="和"is"的详解
2016/10/08 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
大学生职业规划前言模板
2013/12/27 职场文书
企业口号大全
2014/06/12 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Python中递归以及递归遍历目录详解
2021/10/24 Python
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android