根据configuration, site.com应该默认打开html/web/index.php ,但site.com/ticket应该打开html/ticket/index.php 。 ticket和web文件夹位于html 。 server { listen 80; return 301 https://$host$request_uri; } server { add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; server_name site.com; server_tokens off; root /usr/share/nginx/html/web; location / { index index.php; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } […]
我只在我的MacBookPro上设置了nginx。 我只有“index.html”文件,字面上只有一些“HelloWorld”行。 我打开访问日志,注意到这个奇怪的行: 127.0.0.1 – – [06/Aug/2017:23:46:24 +0100] "GET //trc.taboola.com/sg/bluekai/1/cm?taboola_hm=bkqDJy99999taT5j HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8" 我怎么得到这个?
我的Nginxconfiguration文件包含几个服务器块,如下所示。 通过以下configuration,它将不存在的域redirect到configuration文件中的第一个服务器块。 不过,我想将不存在的域redirect到404页面。 server { listen 443 ssl http2; server_name test-domain.no; access_log /var/log/nginx/nginx.access.log; error_log /var/log/nginx/nginx.error.log; ssl on; ssl_certificate /etc/nginx/ssl/certificates.pem; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_session_timeout 1d; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_session_tickets off; location / { proxy_pass http://test-domain-sps.3fcf2715.cont.dockerapp.io:80/; proxy_redirect off; ##proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size […]
我有一个815K每月唯一用户的PHP应用程序,在我的开发机器上加载相当快(大约600毫秒的主页),并用于在生产服务器上快速加载。 我不是一个系统pipe理员,我只是一个开发人员,所以我开始search有关诊断服务器,我遵循这个stream程图 虽然最近stream量有所增加,但服务器资源似乎没有问题。 %Cpu(s): 8.3 us, 2.6 sy, 0.0 ni, 87.1 id, 0.0 wa, 0.0 hi, 0.3 si, 1.7 st 我有足够的内存可用。 在缩小这个问题之后,我尝试了一些让我感兴趣的结果,我从浏览器中复制了html源代码,并将其传递给生产服务器中的test.html,并在不到800ms的时间内加载,我使用相同的html代码,它test.php,它需要大约6s的加载,这两个文件共享相同的HTML代码,没有数据库查询已在文件中执行,所以我认为这与我的nginx或PHPconfiguration的东西。 这是我的nginxconfiguration: server { listen 80; server_name site-name.com; root /home/user/site-name.com/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location […]
这是我的第一个nginx。 对于我的新服务器上的所有网站,似乎有一次nginx已经服务了一些stream量,它开始服务“ 错误502 – 错误的网关! ”。 让我们来看看一些日志和configuration… 操作系统 :Ubuntu 16.04(服务器) 硬件 :6核心,12GB内存 面板 :ISPConfig nginx版本 :1.10.3 /var/www/example/log/error.log : : Resource temporarily unavailable) while connecting to upstream, client: 216.170.123.179, server: example.com, request: "GET /KHFxygk9 HTTP/1.1", upstream: "fastcgi://unix:/var/lib/php7.0-fpm/web3.sock:", host: "example.com", referrer: "http://example.com/" 2017/08/10 06:01:06 [error] 15408#15408: *31372 connect() to unix:/var/lib/php7.0-fpm/web3.sock failed (11: Resource temporarily unavailable) while connecting […]
我用nginx在Debian上安装了PHP5-FPM。 当我尝试打开一个PHP页面,然后我得到Error 502 Bag Gateway 。 我发现,这是因为我使用的sockets,看起来没有正确configuration。 我试图解决它通过应用不同的设置,但无法解决这个问题。 如果我改变套接字到127.0.0.1:9000然后它工作正常。 你可以请检查以下configuration,并告诉我我做错了什么? pool.d / sf.conf user = sf group = sf listen = /var/run/php5-fpm-sf.sock listen.owner = sf listen.group = sf 下午=dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = / 在上面的文件中,我使用/var/run/php5-fpm-sf.sock因为/var/run/php5-fpm.sock已经被pool.d/www.conf php5-fpm-sf.sock权限 srw-rw-rw- 1 sf sf 0 Aug 10 12:21 /var/run/php5-fpm-sf.sock […]
我有godaddy域mydomain.me我把它指向我在阿里云ECS的IP 在我的diango设置中我有: ALLOWED_HOSTS = [".mydomain.me","xxxx"] 在/ etc / nginx / sites-avaiable / Django我有 upstream django { server unix:/tmp/uwsgi.sock; } server { listen xxxx:80; server_name .mydomain.me; location /static/ { include uwsgi_params; alias /root/DjangoApps/mydomain_me/public; } location / { include uwsgi_params; uwsgi_pass django; } } **编辑:**为此,我制作了符号链接/ etc / nginx / sites-enabled / Django,并删除了默认的符号链接。 在uwsgi.ini我有 [uwsgi] chdir = /root/DjangoApps/mydomain_me […]
我试图在nginx后面设置mongodb,下面是我使用的configuration。 但是,当我重新加载nginx时,我不断收到以下错误。 任何帮助表示赞赏。 nginx:[emerg]“stream”指令不允许在/ etc / nginx / sites-enabled / mongodb:1 stream { server { listen 27020; proxy_connect_timeout 5s; proxy_timeout 20s; proxy_pass stream_mongo_backend; } upstream stream_mongo_backend { server 127.0.0.1:27017; } }
我有一个边缘服务器,其中安装了清漆和Nginx。 我使用Nginx作为用于HTTPSstream量的SSL终止的reverse_proxy,并且还转发HTTPstream量。 两个交通都被转移到清漆。 我有几个HTTP和HTTPS网站与有效的SSL正常工作。 我有一个网站有很多停放的域名不在HTTPS。 但是,当我在Google中search其中的一个链接时,该页面以HTTPS显示,浏览器尝试以HTTPS打开它,所以我得到HTTPS错误! 我也没有创build任何虚拟主机块在Nginx的该域! 我想知道有什么方法可以将非https网站redirect到其http版本,或者更通常地将所有具有无效SSL的网站redirect到它们的HTTP版本? 如果能做到的话,是否应该用清漆来改变?
我的web应用程序nginx文件中有超过50多个位置匹配指令。 做了一些改变后,我坚持一个名为/login一个位置指令302redirect循环。 它保持redirect到302 /login,永远不会出去。 有没有什么办法在nginx指令,我可以设置一个断点,日志,从哪个位置指令的请求通过? 所以我得到一个想法,哪个是错误的redirect或位置来源? 我不认为debugging日志给出了这个信息。 简而言之,在整个configuration中,精确跟踪请求的最佳方式是什么?