Symfony2在Nginx下的配置方法圖文教程
本文詳細(xì)講述了Symfony2在Nginx下的配置方法。分享給大家供大家參考,具體如下:
網(wǎng)上有很多關(guān)于symfony2在nginx下的配置文章,如果是小白,按照網(wǎng)上貼出來(lái)的配置文件配置,卻怎么也不成功,我經(jīng)過(guò)多次摸索,寫下心得:
1. 首先開啟Nginx的pathinfo
至于什么是pathinfo,可以參考文章《nginx下支持PATH_INFO的方法實(shí)例詳解》,自行腦補(bǔ)。很多人按照教程配置的時(shí)候,會(huì)報(bào)500的錯(cuò)誤,查報(bào)錯(cuò)日志也查不出來(lái),八成就是沒(méi)有開啟pathinfo。
如果你的主機(jī)上安裝了AMH,那么恭喜你,配置就容易了。先安裝“AMPathinfo”模塊,然后在這個(gè)模塊的列表上,開啟你網(wǎng)站的pathinfo
如果你的主機(jī)上沒(méi)有安裝AMH,也不用著急,開啟pathinfo,其實(shí)就是添加了兩行配置代碼
fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
不知道怎么添加嗎?別急,下面會(huì)告訴你
2. 主配置文件
在每個(gè)nginx的站點(diǎn)下,都有一個(gè)主配置文件,他們都放在/alidata/server/nginx/conf/vhosts下面(你的路徑可能和我的不一樣,輸入命令”nginx -t”可以查看),現(xiàn)在曬出主配置文件
server { listen 80; server_name www.sample.com; #主機(jī)域名,不要說(shuō)不認(rèn)識(shí) index index.html index.htm index.php app.php; #默認(rèn)的主文件,我自己加了app.php set $subdomain ''; root /alidata/www/sample/web; #網(wǎng)站代碼的磁盤物理路徑,注意symfony的根目錄是web include rewrite/symfony2.conf; #rewrite end # 這個(gè)是引入symfony相關(guān)的配置 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的關(guān)鍵配置 fastcgi_param PATH_INFO $fastcgi_path_info; #pathinfo的關(guān)鍵配置 include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ #js,css的文件緩存時(shí)間 { expires 1h; } access_log /alidata/log/nginx/access/sample.log; #報(bào)錯(cuò)日志 } ~
3. Symfony有關(guān)的配置
這是我自己摸索出來(lái)的, symfony官網(wǎng)上也有nginx的配置說(shuō)明,我試了,沒(méi)有看懂,也沒(méi)有成功。還記得上一段配置中有一句是include rewrite/symfony2.conf嗎,現(xiàn)在就來(lái)貼出這個(gè)配置文件
location / { index app.php; try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; }
你看代碼不是很多吧,真正有關(guān)symfony的配置就是這些。記得要把這份配置文件放在rewrite文件夾下
本文永久地址:http://blog.it985.com/8147.html
本文出自 IT985博客 ,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。
更多關(guān)于PHP框架相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php優(yōu)秀開發(fā)框架總結(jié)》,《codeigniter入門教程》,《CI(CodeIgniter)框架進(jìn)階教程》,《Yii框架入門及常用技巧總結(jié)》及《ThinkPHP入門教程》
希望本文所述對(duì)大家基于Symfony框架的PHP程序設(shè)計(jì)有所幫助。
- Symfony2學(xué)習(xí)筆記之系統(tǒng)路由詳解
- 高性能PHP框架Symfony2經(jīng)典入門教程
- Symfony2使用Doctrine進(jìn)行數(shù)據(jù)庫(kù)查詢方法實(shí)例總結(jié)
- Symfony2實(shí)現(xiàn)從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的方法小結(jié)
- Symfony2之session與cookie用法小結(jié)
- Symfony2創(chuàng)建頁(yè)面實(shí)例詳解
- Symfony2安裝第三方Bundles實(shí)例詳解
- Symfony2聯(lián)合查詢實(shí)現(xiàn)方法
- Symfony2實(shí)現(xiàn)在controller中獲取url的方法
- Symfony2 session用法實(shí)例分析
- Symfony2創(chuàng)建基于域名的路由相關(guān)示例
相關(guān)文章
PHP imagegrabscreen和imagegrabwindow(截取網(wǎng)站縮略圖)的實(shí)例代碼
PHP5.2.2以上版本的GD庫(kù)實(shí)現(xiàn)了兩個(gè)截屏函數(shù) imagegrabscreen 和 imagegrabwindow ,分別用于截取整個(gè)屏幕和截取某個(gè)窗口(同ALT+PrintScreen)的屏幕2013-11-11Laravel5.1 框架模型一對(duì)一關(guān)系實(shí)現(xiàn)與使用方法實(shí)例分析
這篇文章主要介紹了Laravel5.1 框架模型一對(duì)一關(guān)系實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了laravel5.1框架模型一對(duì)一關(guān)系的原理、定義與使用方法,需要的朋友可以參考下2020-01-01Codeigniter整合Tank Auth權(quán)限類庫(kù)詳解
相交其他CodeIgniter的類庫(kù),tank_auth,配置簡(jiǎn)單,使用也簡(jiǎn)單,并且作者也一直在更新。這篇文章主要介紹了Codeigniter整合Tank Auth權(quán)限類庫(kù)詳解,需要的朋友可以參考下2014-06-06php發(fā)送get、post請(qǐng)求的6種方法簡(jiǎn)明總結(jié)
這篇文章主要介紹了php發(fā)送get、post請(qǐng)求的6種方法簡(jiǎn)明總結(jié),分別為使用file_get_contents 、fopen、fsockopen、curl來(lái)發(fā)送GET和POST請(qǐng)求,需要的朋友可以參考下2014-07-07ThinkPHP結(jié)合AjaxFileUploader實(shí)現(xiàn)無(wú)刷新文件上傳的方法
這篇文章主要介紹了ThinkPHP結(jié)合AjaxFileUploader實(shí)現(xiàn)無(wú)刷新文件上傳的方法,是ThinkPHP文件上傳中一個(gè)比較典型的應(yīng)用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10php設(shè)計(jì)模式之代理模式分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之代理模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了PHP設(shè)計(jì)模式中代理模式的相關(guān)原理、使用方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03