Tag: nginx

Nginx的泊坞窗(13:权限被拒绝)logging请求挂载卷

我正在使用nginx版本:nginx / 1.11.8 我的docker文件如下所示: FROM nginx COPY website /usr/share/nginx/html/website/ RUN chown -R nginx /usr/share/nginx/html RUN chown -R nginx /var/log/nginx/ EXPOSE 80 我正在为我的访问日志名称使用variables,如下所示。 当没有安装到主机上的目录运行时,这工作正常,日志产生。 location / { try_files $uri /index.html; if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") { set $year $1; set $month $2; set $day $3; } access_log /var/log/nginx/nginx.$hostname.$year-$month-$day.log logs; } 我的主机日志目录是owner:steve group:logs 如果我从访问日志名称中删除variables,那么它正确地logging到主机目录,即 access_log /var/log/nginx/nginx.novars.log logs; 我错过了明显的东西让这个工作使用variables?

使用nginx-proxy在Docker容器中运行多个开发项目

据我了解docker-compose文件,使用docker-compose up命令,加载图像并启动容器。 相反,在Dockerfile docker build命令中使用Dockerfile文件只会创build图像。 我想我在这里失去了一些东西,因为事情没有按照我的想法工作。 遵循bitnami / wordpress指令,我使用docker组装了一个安装正常运行。 然后可以通过本地主机访问:81 version: '2' services: mariadb: image: bitnami/mariadb:latest volumes: – /path/to/mariadb-persistence:/bitnami/mariadb wordpress: image: bitnami/wordpress:latest depends_on: – mariadb ports: – '81:80' – '443:443' volumes: – ./wordpress-persistence:/bitnami/wordpress – ./apache-persistence:/bitnami/apache – ./php-persistence:/bitnami/php 因为我想能够以domain.com.dev的身份访问它,所以我考虑实现nginx-proxy 。 按照这里的说明,并从Docker nginx-proxy:容器之间的代理的一些灵感,我想出了以下内容: version: '2' services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy restart: always ports: – "88:80" volumes: […]

如何从gunicorn或nginx提供静态文件

我正在玩docker工程。 Django +一个容器中的gunicorn,另一个容器中的nginx。 当我从Django dev服务器切换到gunicorn时,我注意到我的所有静态文件都没有被提供。 我一直试图解决这个问题,认为这是一个nginx问题,但如果我访问的Django / gunicorn(而不是nginx)的容器,我也看不到静态文件显示在这里,所以这让我觉得这不是一个nginx的问题,但只是在我的Django设置一个简单的错误? Django settings.py DEBUG = False STATIC_ROOT = os.path.join(PACKAGE_ROOT, "static1") STATIC_URL = "/static/" STATICFILES_DIRS = [ os.path.join(PACKAGE_ROOT, "static"), ] STATICFILES_FINDERS = [ "django.contrib.staticfiles.finders.FileSystemFinder", "django.contrib.staticfiles.finders.AppDirectoriesFinder", ] nginx的 server { listen 80; server_name example.org; charset utf-8; location /static { alias /root/proj/proj/static; } } 注意:我将这个别名设置为/ root / proj / proj / […]

Docker上的Nginx服务在1GB RAM节点上提供了比4GB RAM节点更好的性能

我有1个主节点和2个工作节点。 Worker1 – 1GB RAM,1vCore Worker2 – 4Gb RAM,2vCore我有一个新的6 Nginx服务运行在两个节点上的不同端口。 当我进行Apache Benchmarktesting时,它显示了Worker1的服务的性能(每秒请求数)比Worker2的稍好。 我不明白为什么会有更好的performance。 其他细节 – 我在nginx上下载了最新的图像,分配了端口值,并开始在nginx欢迎页面上执行testing。

Docker容器中的Django + uWSGI / nginx – ImportError:没有名为.wsgi的模块

这是一个古老的Django(v1.3.7)应用程序,我正在迁移到一个Docker设置。 基本框架来自这个dockerfiles回购 。 我可以使用Django内置的开发服务器( ./manage.py runserver )使应用程序正常运行,但是我希望在生产中使用uWSGI / Nginx。 我可以得到uwsgi运行没有错误,当我从容器内的bash提示符调用它,如下所示: uwsgi –http :8000 –wsgi-file /home/docker/code/siteweb/glrimon.wsgi但是,当我尝试从Django shell导入我的wsgi文件我得到相同的导入错误。 这是当我启动容器(通过supervisord调用/usr/local/bin/uwsgi –ini /home/docker/code/uwsgi.ini )时logging的内容: [uWSGI] getting INI configuration from /home/docker/code/uwsgi.ini *** Starting uWSGI 2.0.15 (64bit) on [Tue May 9 13:35:14 2017] *** compiled with version: 5.4.0 20160609 on 05 May 2017 18:06:55 os: Linux-3.16.0-77-generic #99~14.04.1-Ubuntu SMP Tue Jun 28 […]

Letsencrypt + Docker + Nginx

我指的是这个链接https://miki725.github.io/docker/crypto/2017/01/29/docker+nginx+letsencrypt.html启用我的应用程序,与docker运行的SSL。 所以这里的问题是当我运行下面的命令 docker run -it –rm \ -v certs:/etc/letsencrypt \ -v certs-data:/data/letsencrypt \ deliverous/certbot \ certonly \ –webroot –webroot-path=/data/letsencrypt \ -d api.mydomain.com 它会抛出一个错误: Failed authorization procedure. api.mydomain.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://api.mydomain.com/.well-known/acme-challenge/OCy4HSmhDwb2dtBEjZ9vP3HgjVXDPeghSAdqMFOFqMw: 所以,任何人都可以帮助我,让我知道如果我错过了什么或做错了什么。

docker群模式的反向代理

我有一个群集,一个经理和一个工人,我有多个服务这些正在运行这个群集不同的端口。 所以我想要将多个域映射到这些服务。 像nginx虚拟主机一样 例; x.com => xservice:8080 y.com => yservice:8081 z.com => zservice:8082 我听说https://traefik.io/解决了这个问题。 但我不喜欢这个。 这个问题的最佳做法是什么?

如何使用docker中的unix套接字将nginx连接到php-fpm

有我的docker-compose.yml version: '2' services: web: image: nginx:latest ports: – "8018:80" volumes: – ./code:/code – ./site.conf:/etc/nginx/conf.d/default.conf – /private/var/log/nginx:/var/log/nginx – /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock networks: – code-network php: image: php:fpm volumes: – ./code:/code – ./php-fpm.conf:/usr/local/etc/php-fpm.conf – ./www.conf:/usr/local/etc/php-fpm.d/www.conf – /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock networks: – code-network networks: code-network: driver: bridge 而在site.conf中,我这样写fastcgi_pass unix:/var/run/php7-fpm.sock; 我还在www.conf中将listen地址更改为listen = /var/run/php7-fpm.sock 。 而在我的MAC中,有一个名为php7-fpm.sock的文件夹在文件夹/ p​​rivate / var / run中,模式为666 运行docker-compose up […]

ECS挂载卷到nginx容器

我正在尝试设置ECS以运行我的php / nginx docker应用程序。 它使用这个docker-compose.yml文件在本地工作: version: '2' services: nginx: image: NGINX-IMAGE ports: – 80:80 links: – php volumes_from: – php environment: APP_SERVER_NAME: <ip> php: image: PHP-IMAGE ports: – 9000:9000 volumes: – /var/www/html 问题是我不能使用ECS来实现这个function。 我不知道如何创buildWeb数据卷,并让nginx使用volumes_from来volumes_from它。 我正在尝试使用此JSON创build卷: volumes='[ { "name": "webdata", "host": { "sourcePath": "/var/www/html" } } ]' 然后在我的容器定义的PHP容器,我补充说: "mountPoints": [ { "sourceVolume": "webdata", "containerPath": "/var/www/html", "readOnly": […]

WordPress的dockerNGINX反向

我有问题在我的Wordpress泊坞窗上设置反向代理。 我有一个Nginx的docker容器分开运行。 使用unRAID作为操作系统。 我有其他服务在domain.com下运行,所以我试图在子目录中运行WP。 这是我在我的nginx conf文件中使用的块 #Wordpress Docker location ^~ /blog { proxy_pass http://10.0.0.18:91/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect http://10.0.0.18:91/ https://$host/; proxy_cookie_domain http://10.0.0.18:91/ $host; include /config/nginx/php.conf; } 当去domain.com/blog看起来像它试图加载,但没有CSS和只有文本,例如: 任何帮助将不胜感激。 谢谢