Tag: Nginx

从Docker容器内部,如何连接到本机的本地主机?

所以我有一个在Docker容器中运行的Nginx,我有一个在localhost上运行的mysql,我想从我的Nginx中连接到MySql。 MySql是在本地主机上运行的,而不是向外界暴露一个端口,所以它绑定在本地主机上,不绑定在机器的IP地址上。 有没有办法从这个docker集装箱连接到这个MySql或本地主机上的任何其他程序?

Node.js + Nginx – 现在什么?

我在我的服务器上设置了Node.js和Nginx。 现在我想用它,但是在我开始之前有两个问题: 他们应该如何一起工作? 我应该如何处理这些请求? Node.js服务器有两个概念,哪一个更好: 一个。 为每个需要它的网站创build一个单独的HTTP服务器。 然后在程序的开始加载所有的JavaScript代码,所以代码被解释一次。 湾 创build一个处理所有Node.js请求的单个Node.js服务器。 这会读取请求的文件并清除其内容。 所以文件在每个请求上被解释,但是服务器逻辑要简单得多。 我不清楚如何正确使用Node.js。

Nginx没有www到www和www到没有www

我正在使用nginx在Rackspace云之后的教程和搜索网,到目前为止不能得到这个排序。 我希望www.mysite.com正常访问mysite.com在.htaccess搜索引擎优化和其他原因。 我的/etc/nginx/sites-available/www.example.com.vhost配置: server { listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://example.com$request_uri permanent; } 我也试过了 server { listen 80; server_name example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://example.com$request_uri permanent; } 我也试过了。 第二次尝试都会导致重定向循环错误。 if ($host = 'www.example.com' ) { rewrite ^ http://example.com$uri permanent; } 我的DNS设置为标准: […]

为以下应用程序结构编写docker的正确方法是什么?

我在nodejs上运行了3个nodejs微服务。 其中一个运行在一个单独的子域中,另外两个基于路径进行路由。 我的Docker文件如下 FROM node:latest RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app EXPOSE 9000 CMD [ "npm", "start" ] 每个图像的端口是不同的。 在此之后,我有一个nginx运行裸机服务器上的所有配置反向代理服务器。 我知道这不是最好的方式。 我怎样才能有3个单独的实例运行,并在同一端口上侦听? 另外对于我正在使用的数据库链接 – 链接标志,但显示为在文档中折旧,什么是正确的方式来解决这个问题?

使用Docker –net = host并通过主机名连接到其他容器

我想设置一个Nginx的反向代理,工作正常,但如果我设置network_mode: "host"它停止工作,因为它无法找到其他码头集装箱的主机名。 我有一个web容器和一个nginx容器。 我得到以下错误: reverseproxy_1 | nginx: [emerg] host not found in upstream "web:80" in /etc/nginx/nginx.conf:10 reverseproxy_1 | nginx: [emerg] host not found in upstream "web:80" in /etc/nginx/nginx.conf:10 我的Nginx conf文件是: worker_processes 1; events { worker_connections 1024; } http { sendfile on; upstream docker-web { server web:80; } server { listen 8080; location / { proxy_pass […]

使用Docker Rails 5 Postgres应用程序的Nginx路由

当我尝试将Dockerize Rails应用程序放入容器并在主机上运行Nginx时,出现了外部路由问题。我无法在rails应用程序容器中访问/ public。 相反,我可以在主机上看到/var/www/app/public 。 我如何从Nginx路由到Docker Rails容器? nginx.conf: upstream puma_app { server 127.0.0.1:3000; } server { listen 80; client_max_body_size 4G; keepalive_timeout 10; error_page 500 502 504 /500.html; error_page 503 @503; server_name localhost app; root /var/www/app/public; try_files $uri/index.html $uri @puma_app; location @puma_app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma_app; # limit_req zone=one; […]

用多个Docker容器设置Nginx问题

目前我想设置一个服务器,它有一个Docker WordPress和Nginx,可以作为代理服务器。 我希望将来能够拥有多个WordPress,NodeJS,ROR等,坐在这个Nginx代理之后。 当我尝试连接到我的服务器端口80我得到一个403禁止。 我可以构建Docker WordPress映像,并可以在远程PC上的端口8080上连接到它。 这里是我的Docker WordPress的compose.yml: version: "3.1" services: my_wordpress: image: wordpress ports: – 8080:80 environment: WORDPRESS_DB_PASSWORD: password WORDPRESS_DB_HOST: my_mysql_wordpress my_mysql_wordpress: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: password 这是我尝试构建一个Nginx容器时的一部分,我正在禁止403。 Nginx的DockerFile: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf Nginx的compose.yml: version: "2" services: web: restart: always image: nginx ports: – "80:80" volumes: – /path/in/vm/www:/usr/share/nginx/html external_links: – mywordpress_wordpress_1:mywordpress networks: default: […]

Docker“无效的装载路径app / symfony”必须是绝对的

我试图设置Webpack与码头运行。 我正在寻找把它放在自己的容器,建立文件,然后nginx将在其容器上提供的代码。 我docker-compose.yml文件如下所示: nginx: build: ./nginx/ ports: – 80:80 links: – php volumes_from: – app php: build: ./php/ expose: – 9000 links: – mysql volumes_from: – app app: image: php:7.0-fpm volumes: – ./app/symfony:/var/www/html command: "true" web: build: ./webpack volumes_from: – app mysql: image: mysql:latest volumes_from: – data environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: project MYSQL_USER: project MYSQL_PASSWORD: […]

Laravel无法连接到dockerise数据库

我创建了三个容器(PhP-NGINX-MySql)来支持位于主机上的默认laravel项目。 当我尝试从laravel连接到数据库时,出现错误: Route::get('/', function () { dd(App\User::all()); return view('welcome'); }); SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败:名称或服务未知(SQL:select * from users ) 这是我的.env在laravel-5.3.16 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=33061 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret 和可靠的剧本: — – hosts: localhost environment: PYTHONPATH: /usr/local/lib/python2.7/site-packages/ tasks: – name: get currernt location command: pwd register: my_way – set_fact: host_dir="{{my_way.stdout}}" – name: create image with nginx docker_image: path: /home/demaunt/Jun/dock_click/engie […]