成都网站建设设计

将想法与焦点和您一起共享

Nginx常见问题有哪些

本篇内容介绍了“Nginx常见问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站专注于企业网络营销推广、网站重做改版、盐池网站定制设计、自适应品牌网站建设、HTML5建站商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为盐池等各大城市提供网站开发制作服务。

Nginx常见问题收集

NGINX不允许向静态文件提交POST方式的请求,否则报405错误

telnet *.*.*.* 80
POST /map/navigation/2011winter/jsn/jsn_20120723_pack/pvf.jsn
HTTP/1.1
Host:*.*.*.* (2个回车)

HTTP/1.1 405 Not Allowed
Server: MapbarServer
Date: Mon, 08 Oct 2012 05:34:53 GMT
Content-Type: text/html
Content-Length: 173
Connection: keep-alive


405 Not Allowed

405 Not Allowed


MapbarServer
经查发现:NGINX不允许向静态文件提交POST方式的请求,否则报405错误 解决办法: 1.在nginx vhosts配置文件中增加如下 error_page 405 =200 @405;         location @405 {         root /mapdata/www/datamobile/;         proxy_method GET;         proxy_pass http://map_tomcat;     }

项目采用yaf和vue进行前后端分离,访问页面时正常. 但是刷新会报错.甚至有时候会请求不到页面.

  • 这个情况主要是用vue采用前后端分离之后前端有在public下有一个单独的index.html

  • 他们所有的页面都存放在这个index.html中.也就是说所有的页面请求都要打到这个文件中

  • 所以如果我们通过传统的URL来请求页面比如登录,/user/login时会报错页面不存在

  • 而我们的项目在部署的时候,将所有WEB和APP的接口都单独新建Module中

  • 所以我们的接口请求,必然要有web或app字样,所以我们通过修改NGINX中的配置文件.

  • 优先匹配带有app或web的URL,将其重置到public/index.php给yaf处理

  • 而其他的都交给public/index.html来处理

server {
    listen 80;
    server_name otc.coinegg.im;
    access_log  /home/work/logs/nginx/otc.coinegg.im.access.log main;
    error_log   /home/work/logs/nginx/otc.coinegg.im.error.log;
    
    root   /home/work/www/otc/public;
    # 禁止请求git相关的隐藏文件,这个也要放到前面来,只要在location / 前面
    location ~ /.git/ {
        deny all;
    }

    # 这个要放到前面了来, 做正则匹配,匹配到URL中含有WEB或APP时按照YAF重定向到index.php中
    location [/web/|/app/] {
        root   /home/work/www/otc/public; # 除非路径不同否则这里不用重新定义root
        index  index.php;
        
        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php?$1 last;
        }
    }
    # 这要放到后面来, 即所有的请求全部重定向到index.html中
    location / {
        root   /home/work/www/otc/public; # 除非路径不同否则这里不用重新定义root
        index  index.html;
        try_files $uri $uri/ /index.html;
    }
    # 这里是FPM用的,保持不变即可
    location ~ \.php$ {
        index index.php;
        fastcgi_pass   unix:/tmp/unix/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

make -j2报错,我在ubuntu18.04下有这个错误

# make -j2如果报错:objs/Makefile:591: recipe for target 'objs/src/core/ngx_murmurhash.o' failed
# 我在ubuntu18.04下有这个错误
# 在objs/Makefile中将 -Werror 删除,对于warnings忽略
# vim objs/Makefile 找到第三行的CFLAGS = -I/usr/local/luajit/include/luajit-2.0  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused -Werror -g  -DNDK_SET_VAR
# 删掉-Werrori 即可

“Nginx常见问题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站名称:Nginx常见问题有哪些
网页网址:http://chengdu.cdxwcx.cn/article/ppcdjs.html