下班后领导要求发布browser.***.com
步骤大概如下:
1: svn checkout svn://**/**
2: cd /data/nginx/conf/vhosts创建相应的
browser.***.com.conf文件
3:因为在nginx.conf中include vhosts/*.conf 只需要reload nginx就可以生效!
执行:/data/nginx/sbin/nginx -s reload
下面去测试,遇到问题
1:域名的解析已经做过了,输入域名browser.***.com ,结果报错,internal 500 error
-
failed to open stream: No such file or directory in /home/***/***/br*****/index.php on line 31
-
PHP message: PHP Fatal error: require_once(): Failed opening required '/home/***/gg/browsergames../framework/yii.php' (include_path='.:') in /home/***/gg/br****/index.php on line 31" while reading response header from upstream, client: 58.240.***.100, server: browser.****.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "browser.****.com
显然缺文件,于是又将framework 从svn checkout下来
2:接着还是报错,但这个错误已经没有了,自己书写一个测试文件a.html和a.php 都是正常的!怀疑web程序有问题,但程序员告知在dev环境下是正常的,于是去查看连接数据库的文件,
发现程序中数据库地址使用的是127.0.0.1,连接发现有问题,见附件
修改为localhost,测试,还是有问题!继续internal 500 error
查看错误日志里面已经没有有用的提示!
3:
后来查到是asserts目录的权限不正确造成的!设置为nobody或777 就可以了!
yii开发的网站,asserts权限太重要了!这个错误不好查,因为错误日志里面根本没有有用的信息,当时的错误日志是:
其实asserts的报错日志不在nginx或php的错误日志里面,而在自己的错误日志里面!它的错误日志在{projectname}/protected/runtime/application.log中!
报错信息如下:
2014/06/03 17:30:37 [error] [exception.CException] exception 'CException' with message 'CAssetManager.basePath "/home/www/data/app/${projectname}/assets" is i
nvalid. Please make sure the directory exists and is writable by the Web server process.' in /home/www/data/app/${framework}/web/CAssetManager.php:138
Stack trace:
loldb在迁移到时候也遇到过这个问题,只是当时一会就解决了,没引起重视,呵呵
4:
***.g****z.com网站不能访问,使用***.g****z.com/apc.php 能访问或者书写一个测试页面也能访问,显然不是web服务器的问题,有可能是db的问题,也有可能是程序的问题(后来查到是程序的问题),有个奇怪的地方,程序的出错日志不往nginx的相关日志文件里面写入,而是写到yii框架自己设置的日志***/***/protected/runtime/application.log里面!
根据错误日志的提示,修改代码即可!
阅读(1820) | 评论(0) | 转发(0) |