标签 nginx 下的文章

LNMP提示Nginx PHP “No input file specified”错误因配置文件有改变

lnmp1.0升级到1.4新版本 ,出现“No input file specified”错误提示,尝试添加新的虚拟主机,比较后发现nginx conf配置文件php部分有改变,需要注意。

旧版的:

location ~ .*\.(php|php5)?$
        {
            try_files $uri =404;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include fcgi.conf;
        }

新版的:
include enable-php.conf;

如果照搬会出现“No input file specified”错误提示。

linux操作系统重启后 解决nginx的pid消失问题

重启了linux服务器之后,进程性的 nginx -s stop后再次启动nginx -s reload ,总是会报错误nginx: [error] open() "/alidata/server/nginx/logs/nginx.pid" failed (2: No such file or directory),这应该是因为把nginx进程杀死后pid丢失了,下一次再开启nginx -s reload时无法启动,重装可以解决这个问题,但是太麻烦了。

issued a nginx -s stop and after that I got this error when trying to reload it.

[error]: invalid PID number "" in "/var/run/nginx.pid"

That /var/run/nginx/pid file is empty atm.

What do I need to do to fix it?

nginx -s reload is only used to tell a running nginx process to reload its config. After a stop, you don't have a running nginx process to send a signal to. Just run nginx (possibly with a -c /path/to/config/file)

方法很简单:

1.首先你要先确保关闭nginx进程了(可以通过pkill -9 nginx关闭进程)

2.进入你nginx的安装目录里面 cd 路径/nginx/sbin里面(这里要注意路径问题哦!!!) 然后输入

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 就可以了(sbin目录下面有个nginx为启动程序,-c为以什么配置启动,后面接着nginx配置文件的路径)

Nginx下Xenforo伪静态代码 去掉index.php

折腾了下xenforo,nginx下,涉及到伪静态,需要去掉“index.php?”,由于xenforo在国内这方面的知识并不多,去官方看了下friendurl,使用里面的代码有点小错误提示502错误。

官方的代码

location /xf/ {
try_files $uri $uri/ /xf/index.php?$uri&$args;
index index.php index.html;
}

location /xf/internal_data/ {
internal;
}
location /xf/library/ {
internal;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}


里面的/xf 是路径,打个比方,比如安装在huaihei.com的fx目录下,那么就用上面的代码。但是我在使用上面的代码,502.

我的伪静态代码

于是试着删除了部分,只留下下面的代码。
location /xf/ {
try_files $uri $uri/ /xf/index.php?$uri&$args;
index index.php index.html;
}


于是成功!

操作步骤

1、在这个路径/usr/local/nginx/conf创建xenforo.conf

2、修改/usr/local/nginx/conf/vhost/www.yourwebdomain.conf

帮助:lnmp添加域名会默认生成一个“域名命名的.conf”的文件,比如你的域名是www.hao123.com,那么就是修改/usr/local/nginx/conf/vhost/www.hao123.com.conf

修改参考下图
xenforo conf

3、重启lnmp (命令:/root/lnmp restart)

本文想法有参考官方文档:https://xenforo.com/help/friendly-urls/