我刚刚在Windows 10 WSL上安装了Ubuntu 18.04,这就是我用它做的:
sudo add-apt-repository ppa:nginx/stable
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install composer npm
sudo apt install nginx postgresql-10
sudo apt install php7.2 php7.2-cli php7.2-fpm php7.2-curl php7.2-gd php7.2-mysql php7.2-mbstring
sudo apt upgrade
有我的项目的nginx配置:
server {
#listen 80;
#listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
root /var/www/domains/laravel/public;
index index.php index.html index.htm;
server_name laravel.loc;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
try_files $uri $uri/ /index.php$query_string =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
}
location ~ /\.ht {
deny all;
}
}
除了nginx.conf
和user user;
之外,user = user
group = user
listen = 127.0.0.1:9000
没有变化
www.conf
在php7.2-fpm's
pool.d
目录的Laravel 5.6
。
所以...我在Vue.js
和Nginx 1.10
上获得了SPA项目,该项目在php7.0-fpm
和/
上正常工作,返回/login
的页面并与Vue路线一起工作,但是如果我想要获得application/octet-stream
或某些api路线(或任何另一个网址来自浏览器,它给了我public/index.php
的default_type application/octet-stream;
下载。我试图将php mime类型添加到nginx配置中,并将nginx.conf
中的default_type text/html;
更改为qazxswpoi,因为我在一些建议中阅读,但它确实没有做到这一点。已经打破了我的想法,任何人都请帮忙!
这可能与此版本的Nginx的HTTP / 2支持有关。
应始终通过SSL使用HTTP / 2。
通过SSL / ClearTCP透明地处理HTTP / 1和HTTP / 2实际上非常困难,并且Nginx无法很好地处理。
尝试从启用Nginx的站点中使用http2删除任何站点并重新启动Nginx。您还可以尝试使用HTTPS发出请求,您的网页应该没有任何问题。
仅通过SSL移至HTTP / 2或暂时忘记HTTP / 2。