我从1.8升级了nginx。0到1.9。今天7点,为了让一个网站重新工作,他不得不换几行。现在它可以在ssl(443)上工作,但不能在http(80)上工作。我必须将fastcgi_参数更改为fastcgi。形态。
当我通过Cloud flare尝试一个网站时,它说与我的服务器没有连接。直接连接我得到一个下载的文件。看起来像一个压缩文件,在浏览器上没有得到解压缩。这是标题。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:{hidden}
Host:{Hidden}
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
浏览器或服务器上没有错误。检查nginx和php-fpm日志。
还有什么我可以试试的吗?
附加信息:我使用easyEngine来驱动这个服务器,但我使用nginx主线分支。
更新:清除nginx并重新安装后,我现在可以访问标准超文本传输协议(80)端口上的所有网站。我的一个ssl站点无法通过其https(443)连接访问。当我这样做它下载PHP索引文件。所有其他页面都在SSL上工作,只是索引页面不行。它是一个wordpress网站,有漂亮的网址。所有的页面实际上都是index.php文件。但这只发生在主页上。80和443 ssl的侦听指令位于同一虚拟主机部分。
您需要编辑/etc/nginx/sites enabled/default并将此代码添加到默认文件中,以便在nginx服务器上执行php文件
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
如果你想了解更多,请参考下面的链接:点击这里
这个问题与HTTP2模式有关。从侦听行中删除http 2可以修复此问题。
server {
listen 80 http2;
listen 443 ssl http2;
改为:
server {
listen 80;
listen 443 ssl http2;
HTTP2只能在ssl上运行。在非ssl侦听上启用它会导致错误。在ssl上使用http2,一切都可以正常工作,而且速度相当快。
我在运行nginx的Ubuntu服务器上安装WordPress。安装进行得相当顺利(以下安装LEMP和安装WordPress教程-带我通过mysql,php5-fpm和wordpress安装),似乎大部分工作。我可以查看Wordpress管理页面,创建博客帖子,甚至查看这些帖子。但是当我试图访问我博客的主页(例如index.php)时,nginx将文件作为下载而不是执行。我已经尝试了Nginx s
我正在一个水滴(数字海洋)中安装一个网站。我对正确安装带有PHP的NGINX有一个问题。我做了一个辅导https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04但是当我试着跑的时候。php文件只是下载而已。。。例如<代码>http:/
我有一个运行在上。 我使用来提供静态文件,即生成的包,但这是不相关的。 我想要实现的是: 关于我想提供。我能做到。 在我想为。 在我想提供。 最后两个,我做不到。当我进入或我收到了默认的nginx页面。 为了使事情更加混乱被完全注释掉。 此外,如果在的块中,我将替换为,我将获得该特定项目的服务,但是我将无法为另一个服务。 下面,我将向您展示我的nginx配置 谢谢你的帮助! 编辑 我找到的解决方案
问题内容: 在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json。因此,我将JSON数据的URL放入地址栏中。 这对ASPNET很好,因为在发生编码错误的情况下,我可以在浏览器中看到ASPNET诊断错误: 但是,当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,因此看不到响应。 我可以让IE不这样做吗,换句话说,就是像纯文本一样显示它吗? 我知道如果将
问题内容: 我正在将站点安装在Droplet中(数字海洋)。我在使用PHP正确安装NGINX时遇到问题,但是当我尝试运行一些.php文件正在下载…例如,它正在工作,但是…如果我进入主目录,它将下载我的index.php:/ 任何的想法? 我的/ etc / nginx / sites-available / default …评论其他“位置”(#) 问题答案: 尝试这个: 编辑 取消注释两个侦听行
问题 我今天尝试从PHP7.0升级到7.2,结果服务器上的网站通过浏览器下载,而不是像正常的那样执行。 我的问题 有人能给我一些如何调试的例子吗?还有关于可能发生的事情的其他见解吗? 我的理论 从技术上说,我不知道是什么导致了这种情况,但我的经验告诉我,这是一行,在一个文件中,来自NGinx,需要编辑。 我试过的 我发现这个问题在这里经常被报道。但是解决方案缺少关键信息,例如文件路径,或者它们引用