首页 > 代码库 > Nginx的一次no input file specified事记
Nginx的一次no input file specified事记
Nginx的一次no input file specified事记
学习linux蛮打满算有三个月了
今天线上有个机会,有个全新的机器给我,
要求是lnmp环境,考虑到自己的源码编译对系统还不是很熟,决定用网上的脚本安装
Ezhttp lnmp环境部署:
路径都默认到/usr/local/ nginx mysql php(三个路径)
msyqldata路径为/data/mysqldata/
以上两个是环境的安装路径和mysql的数据路径,部署完成,现在开始测试,我准备用nginx作为web容器,建立一个www.a.com的域名进行测试
#mkdir /data/newweb/www.a.com/wwwroot/ -p(创建网站目录)
#echo I am www.a.com>>/data/newweb/www.a.com/wwwroot/index.hmtl
(创建一个index.html文件并且给它增加内容方便看测试效果)
接下来搭建nginx的vhost主机,
#cd /usr/local/nginx/conf/vhsot/
#vi www.a.com
server {
server_name www.a.com;
listen 80;
index index.php index.html index.htm;
root /data/newweb/www.a.com/wwwroot;(指向我的测试目录)
include rewrite/DEDECMS.conf;
location ~ \.php($|/){
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:/proc/;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
#access_log /home/wwwlog/www.a.com/access.log access;
#error_log /home/wwwlog/www.a.com/error.log error;
日志文件这里测试就不创建,大家需要的可以自行创建
}
:wq
#ll查看
Host主机完成
现在我们进入到nginx的sbin目录先测试nginx的配置
#./nginx –t(测试的习惯要养成,这是一个婶儿给我的经验,得益量多)
#./nginx –s reload
接下来就要在你的本地建立一个host指向你的生产环境,大家用虚拟机的话就是你的虚拟机ip
接下来就可以在本地测试你的www.a.com域名
问题出现
回去查找vhost的配置问题
发现这里插入了一个DEDECMS. Conf的重定向
include是把其它的配置文件包含到本配置文件中。
就相当于你把其它的配置文件内容写在include这里一样
于是我查找到
#cd /usr/local/nginx/conf/rewrite/里面有一个
然后我查看内容
这个文件应该是ezhttp的脚本创建安装的时候自动生成的一个vhost触发
,于是我尝试去更改www.a.com 的host
#vi www.a.com.conf
进入到nginx的sbin
#./nginx –t
#./nginx –s reload
在我本地打开再测试
妥妥的,其实知识点不难,重点是大家细心去找这个错误,就能找到,
总结为,include这个rewrite其实是挺好的东西,我这里只是测试错误,将他取消,如果是有.php的站,那就可以成功,我这里我将这个rewrite备份到我自己的本地做研究,然后线上将它mv **.bak 留着给程序使用
Nginx的一次no input file specified事记