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危险函数(disable_functions)
Feb 23 PHP
PHP 下载文件时自动添加bom头的方法实例
Jan 10 PHP
php伪静态之APACHE篇
Jun 02 PHP
一组PHP加密解密函数分享
Jun 05 PHP
彻底删除thinkphp3.1案例blog标签的方法
Dec 05 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
php实现连接access数据库并转txt写入的方法
Feb 08 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
php批量上传的实现代码
2013/06/09 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
Python读写文件方法总结
2015/06/09 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
给排水工程师岗位职责
2013/11/21 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
instantclient客户端 连接oracle数据库
2022/04/26 Oracle