我正在尝试使用docker连接PHP和redis(撰写) 泊坞窗,compose.yml version: '2' services: redis: image: redis:3.2.2 php: image: company/php:dev7 volumes: – .:/var/www/ networks: – net links: – redis nginx: image: company/nginx volumes: – .:/var/www/ – ./docker/nginx_conf:/etc/nginx/conf.d/ networks: – net ports: – 80:80 networks: net: driver: bridge 这一切运作良好,我能够运行nginx和php。 但是,当我试图与Redit连接它告诉我它不能得到地址信息: 致命错误:未捕获Predis \ Connection \ ConnectionException:php_network_getaddresses:getaddrinfo失败:名称或服务未知[/ tcp:// redis:6379]在/var/www/htdocs/vendor/predis/predis/src/Connection/AbstractConnection.php在线155 这是我试图连接的方式: $client = new \Predis\Client([ 'host' => 'redis', […]
我打算使用Node.js Express服务器托pipe多个网站(s?)。 为网站的根目录中的每个网站创build一个server.js文件是不是很好? 例如/var/www/example2.com/server.js. 示例server.js: const express = require('express') const app = express() const port = 3000 // 1 port for each website app.get('/', (request, response) => { response.send('Hello from Express!') }) app.listen(port, (err) => { if (err) { return console.log('something bad happened', err) } console.log(`server is listening on ${port}`) }) 与规则开始每个服务器的Cronjob – 就像一个魅力 #!/bin/sh […]
我使用Django REST Framework作为我的API,nginx作为反向代理,redis用于caching一些静态api数据。 我试图通过Cache-Control: max-age实现cachingCache-Control: max-age和Last-Modify标题。 简而言之,它看起来像这样: class SomeViewSet(viewsets.ModelViewSet): …. def list(self, request, *args, **kwargs): queryset = self.get_queryset() cache_key = self._get_cache_key() # get a key for reddis response = self._get_data_from_cache(cache_key) # get a data from reddis if response: # If data in redis return Response with a same Last-Modify # and 'Cache-Control': 'max-age=120' return response […]
我的静态和媒体文件由Nginx提供,其他请求由Django提供。 我有一个由Django提供的自定义404页面。 由于Nginx正在处理静态内容,因此任何对/ static / *的请求都会被Nginx处理。 我可以在Nginx中设置静态自定义404页面,但是我想让Django处理任何404页面。 是否有可能从Nginx提供静态内容,但在404的情况下,请求被转发到Django?
在使用Digital Ocean的指南安装phpMyAdmin之后,我收到一个404错误。 我在运行nginx的Ubuntu上设置了多个域。 / var / www /中有一个phpmyadmin目录。 与指南唯一的区别是以下命令: sudo ln -s /usr/share/phpmyadmin/ /var/www 我是否需要添加服务器块? 由于我有多个域,每个域都有一个单独的configuration文件。 示例configuration文件: server { listen 80 default_server; listen [::]:80 default_server; root /var/www/domain1.com/html; index index.php index.html index.htm index.nginx-debian.html; server_name MY_IP_ADDRESS; location / { try_files $uri $uri/ =404; } location /phpmyadmin { root /var/www/; index index.php index.html; } location ~ \.php$ { […]
可以说我有一个像这样的path: /var/www/myside/ 该path包含两个文件夹…让我们说/static和/manage 我想configurationnginx来访问: /static文件夹/ (例如http://example.org/ )这个文件夹有一些.html文件。 /manage文件夹/manage (例如http://example.org/manage )在这种情况下,这个文件夹包含Slim的PHP框架代码 – 这意味着index.php文件是在public子文件夹(例如/ var / www / mysite /manage/public/index.php) 我已经尝试了很多组合,如 server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location /manage { root $uri/manage/public; try_files $uri /index.php$is_args$args; } location / { root $uri/static/; index index.html; } location ~ \.php { try_files $uri =404; […]
我在DigitalOcean上有一个关于Ghost的博客。 Nginx也提供相同的configuration文件: server { listen 443 ssl; server_name www.example.com; return 301 $scheme://example.com$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; include snippets/ssl-params.conf; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:2825; } } 这些证书是通过让我们encryption生成的,无论是有没有www的域。 在Ghost config.js文件中,URL是使用规则编写的: https : //example.com/问题是,当我进入我的博客,没有wwww的我的域,正确地login并使用SSL,但是当我尝试使用https://www.example.comlogin时,出现SSL证书authentication错误。 我真的不明白这里可能会出现什么问题。 我需要,当进入我的域名与www我redirect到域,但没有www。 我之前做过的这个操作与其他应用程序节点没有问题,具有上面相同的configuration代码。
下面是我使用的nginx conf(nginx是一个docker容器) – Nginx被用作所有后端api服务器的代理服务器。 当我尝试上传文件时,如果尺寸大于1 MB,则出现错误。 试过所有可能的解决办法,但没有解决。 任何帮助将是有用的。 server { listen 80; server_name abcd.dev; #rewrite ^/(.*)/$ /$1 permanent; charset utf-8; keepalive_timeout 300s; gzip on; gzip_http_version 1.1; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_buffers 16 8k; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; client_body_in_file_only clean; client_body_buffer_size 10M; client_max_body_size 10M; sendfile on; send_timeout 300s; proxy_buffering off; proxy_request_buffering off; proxy_buffer_size 10M; proxy_buffers […]
当我在我的网站上进行维护并重新启动服务器时,有时NGINX返回502错误的网关错误。 同样的事情有时在重负载下发生。 这让我的访问者感到困惑,他们没有意识到这个问题可能是暂时的。 有什么方法可以让访问者在网站返回时自动刷新页面?
我想用一个简单的PHP应用程序来configuration一个Wordpress应用程序。 该应用程序的目录结构如下: 根目录:/ var / www / demoApp / WordPress的目录:/ var / www / demoApp / wordpress / 在这里,我想访问使用路由http:// BASE_URL / WordPress的WordPress的应用程序。 但我无法configurationnetworking服务器。 / var / www / demoApp /目录下的所有php页面都可以正常使用url http:// BASE_URL / 。 虽然WordPress的文件没有正确加载。 这是我的Nginxconfiguration块: server { listen 80; root /var/www/demoApp; index index.php index.html index.htm; server_name localhost; error_page 500 404 /404.php; location / { […]