Tag: nginx

nginx将所有域redirect到另一个端口,但为pipe理应用保留一个域

我尝试使用Docker设置Web服务器,所以我将使用我的服务器“server.domain.com”的主要域用于pipe理员使用(server.domain.com/phpmyadmin,等…),我想redirect所有另一个域名是一个在端口81上侦听的apache容器。所以我在default.conf有这样的代码: server { listen 80; listen [::]:80 default_server; location / { proxy_pass http://web/; } } main.conf : server { listen 80; listen [::]:80; server_name server.domain.com; location /phpmyadmin/ { proxy_pass http://phpmyadmin/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } (更新conf) 而我的nginx.conf : user nginx; worker_processes 2; error_log /var/log/nginx/error.log warn; […]

nginx子pathredirect到wordpress docker容器

背景 我正在为我们在Nginx上运行的现有网站添加Dockerized博客堆栈(Wordpress + MariaDB)。 location /已经提供了网站,并且我被指示将逻辑添加到Nginxconfiguration,其中/blog将所有stream量redirect到Docker容器。 尝试1 我在服务器上的localhost:9999上启动了wordpress容器。 使用引用我添加了额外的逻辑: location ^~ /blog { proxy_pass http://localhost:9999; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; } 问题: WordPress的redirecthttp://server/blog http://wp-admin/install.php ,因为没有规则,我得到了404。 尝试2 我将location更改为stream程/blog以及任何包含wp-.* URL。 假设是所有的WordPress的页面将具有该url。 location ~ ^/(blog|wp-.*) { 这工作通过WordPress的设置。 如果我明确地访问http://server/wp-admin我可以去博客pipe理页面。 问题: WordPress的博客页面不满足上面的正则expression式,并返回一个404。例如http://server/?p=31是一个博客文章的链接。 尝试3 只是为了它,我redirectlocation /到Docker容器和博客完美。 但不幸的是,这不是我所说的问题。 题 接下来我要做什么?为了满足所有针对WordPress的特定要求? 我觉得在这里可能会有一个更优雅的解决scheme时,我正在进入一个战斗正则expression式的循环。 参考 nginx代理传递子path不redirect 我怎样才能在NGINXconfiguration中的两个位置有相同的规则? nginxredirect到docker容器

如何configurationnginx链接到docker集装箱?

需要帮助,花费超过30小时…真的需要帮助…谢谢 系统:centos 7 我有nginx和docker的容器(ps:gitlab) ,我有问题与nginx连接 – docker容器(gitlab),我什么时候使用git.xxx.com:8800尝试连接,我认为是configuration问题,在这里是我的configuration: docker集装箱(gitlab): sudo docker run -d \ –hostname git.xxx.com \ –publish 127.0.0.1:8800:80 \ –publish 127.0.0.1:23:22 \ –name gitlab \ –memory 4gb \ –cpus 2 \ –restart always \ –volume /Volumes/docker_gitlab/config:/etc/gitlab \ –volume /Volumes/docker_gitlab/logs:/var/log/gitlab \ –volume /Volumes/docker_gitlab/data:/var/opt/gitlab \ –env GITLAB_OMNIBUS_CONFIG="external_url 'http://git.xxx.com:8800'; gitlab_rails['gitlab_shell_ssh_port']=23;" \ gitlab/gitlab-ce:latest nginx的: server { listen *:8800; server_name […]

在mysql_connect上出现Laradock错误

我有一个mysqli和mysql的问题。 我在Mac上使用laradock后,docker docker-compose up -d nginx mysql phpmyadmin并尝试在Web上打开我的PHP项目,我有这个错误: Fatal error: Uncaught Error: Call to undefined function `mysqli_connect()` in /var/www/f…… 我用phpinfo()读取php规格,但似乎设置正确。 任何人都可以帮我解决吗?

NGINX不与烧瓶restAPI通信。 docker

NGINX不与烧瓶restAPI通信。 当我打localhost / api如果我打localhost我从index.html但不是JSON响应时,我打/ / API 我想用NGINX来服务我的Angular 5 dist文件夹。 什么是dist? dist是文件夹,我有我的index.html,main.css,和所有其他文件Angular 5为我创build后,我运行生成 – 生产 我的问题是什么? 我想要Angular 5的前端 我想我的烧瓶是我的restAPI 我希望nginx能够提供所有的静态文件(HTML,CSS和javascript) 我想要的用户如果input的URL( http:// localhost )NGINX给他所有的静态文件,让我的SPA应用程序的ROUTES除了API路线 如果用户input( http:// localhost / api ),我希望FLASK控制并给予用户JSON响应,无论我说烧瓶响应 我的问题是当用户点击## / api我得到404页面没有find跆拳道我已经设置内部Nginx如果得到/ API让烧瓶采取行动看: user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main […]

运行多个网站 – docker工作

我有一个docker-compose.yml文件,看起来像这样 version: "3.0" volumes: dbdata: .: services: api: build: context: ./api args: – APP_NAME=${APP_NAME} dockerfile: dockerfile depends_on: – database – webserver volumes: – ./api:/usr/local/share/${APP_NAME} database: image: mysql:5.7 volumes: – ./dbdata:/var/lib/mysql restart: always ports: – ${COMPOSE_DB_PORT}:3306 webserver: build: context: . dockerfile: webserver.dockerfile working_dir: "/usr/local/share/${APP_NAME}" volumes: – ./api:/usr/local/share/${APP_NAME} restart: always ports: – ${COMPOSE_APP_PORT}:80 它有3个服务。 一个网站,一个数据库和一个networking服务器,按预期工作。 现在我有另一个单独的Web项目,这是一个CMS使用相同的数据库作为API项目,我想将其添加到此泊坞窗撰写文件,但我不知道如何configurationWeb服务器服务来处理来自上述请求2个网站。 我应该为cms添加另一个web服务器吗? […]

在Docker容器中“权限被拒绝”,除非–privileged = true

我试图运行一个nginx容器作为服务,并在主机和容器之间共享2个卷,以便一个目录中的文件自动与另一个配对目录共享。 我的docker-compose.yml如下: version: '2' services: nginx: image: nginx build: . ports: – "5000:80" volumes: – /home/user1/share:/share/user1 – /home/user2/share:/share/user2 restart: always 我现在唯一可以做到这一点的方法是通过添加privileged: true对docker-compose文件是privileged: true ,但是由于安全性的要求,我不允许这样做。 当试图访问容器中的卷时,出现以下错误: [root@host docker-nginx]# docker exec -it dockernginx_nginx_1 bash root@2d574f9c6131:/# ls /share/user1/ ls: cannot open directory /share/user1/: Permission denied 即使将自己附加在容器上使用下面的参数禁止我访问资源(或至less列出内容): docker exec -it –privileged=true -u 6004:6004 dockernginx_nginx_1 bash (注意: 6004:6004恰好是传递给/share/user1/的id:gid所有权) 有没有任何方式访问的内容,而不build立与提升特权的nginx service […]

将docker-compose.yml中的软件包安装到docker容器中

我是docker工和docker工的初学者,我需要你的帮助。 我正在使用docker-compose制作PHP-NGINX-PostgresSQL symfony开发环境。 这里是 : web: image: nginx:1.13.5 ports: – "80:80" volumes: – ./html:/html – ./site.conf:/etc/nginx/conf.d/default.conf links: – php php: image: php:7-fpm volumes: – ./html:/html links: – postgres postgres: image: postgres:9.6.5 ports: – "5432:5432" environment: POSTGRES_PASSWORD: postgres 现在,我想安装php7.2-intl到我的PHP容器。 所以我想执行这样的事情: $ sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php $ sudo apt-get update $ sudo apt-get install php7.2-intl 你可以帮帮我吗? 我真的被困住了,也没有Dockerfile文件,只是一个docker-compose.yml文件。

nginx映射路由由docker主机,为每个路由,调用一个不同的容器

我试图通过docker主机映射路由,为每个路由,调用一个不同的容器。 我有一个docker-2个服务组成,那个服务在:5000端口。 我的nginx.conf映射如下代码: location /template-api { rewrite ^/template-api/?(.*) /$1 break; proxy_pass http://template-api:5000; 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; proxy_set_header X-Forwarded-Host $server_name; } location /api-plan { rewrite ^/api-plan/?(.*) /$1 break; proxy_pass http://api-plan:5000; 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; proxy_set_header X-Forwarded-Host $server_name; } 何时,我调用localhost:8000 / api-template / […]

Docker的nginx代理主机

简短的介绍: 运行在docker上的Nginx,如何configurationnginx,以便将调用转发给主机。 详细描述: 我们有一个Web应用程序与后端的几个通信(让我们说rest1,rest2和rest3)。 我们负责rest1 。 让我们考虑,我开始rest1手动在我的电脑上运行2345端口。 我想nginx(在rest1运行)将所有调用redirect到rest1到我自己的运行实例(注意,实例在主机上运行,​​不是任何容器,也不在docker中)。 而rest2和rest3到一些其他docker节点或可能是一些其他的服务器(谁在乎)。 我正在寻找的是: docker-compose.ymlconfiguration(如果需要)。 nginxconfiguration。 提前致谢。