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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
php中如何执行linux命令详解
Nov 06 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
PHP 图片处理
Sep 16 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 filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)
2014/10/17 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python编码爬坑指南(必看)
2016/06/10 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python读取数据集并消除数据中的空行方法
2018/07/12 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
PYTHON EVAL的用法及注意事项解析
2019/09/06 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
python re.match()用法相关示例
2021/01/27 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
Internet体系结构
2014/12/21 面试题
如何写好建议书
2014/03/13 职场文书
青春奉献演讲稿
2014/05/08 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
酒店员工培训方案
2014/06/02 职场文书
教师工作态度自我评价
2015/03/05 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android
CentOS MySql8 远程连接实战
2022/04/19 MySQL