我试图在同一台机器上运行nginx作为Apache的反向代理,并从中提供不同的网站。 我的问题是 – 是否可以添加虚拟主机只有nginx,并根据请求主机自动传递到Apache /主机名/path等到Apache。 或者我需要为nginx和Apache中的每个站点(域)设置一个虚拟主机? 另外,这个设置是否有任何潜在的问题? 我计划在我的nginxconfiguration中有这样的每个域(Apache运行在端口8080): server { listen 80; root /var/www/site1.com/; server_name site1.com; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } } 谢谢!
在使用apache tomcat之前是否需要安装nginx服务器? 我们可以使用只有Apache Tomcat有什么优点缺点哪个select更好,为什么。 我正在使用的Fedora 22部署我的应用程序在Java应用程序的Tomcat 8上
这一定是被覆盖的地方,但我很难find它。 我有一个名为user.php的脚本,我想在一大堆url上可用,如下所示: http://example.com/user/john http://example.com/user/1234566 等等 我把它放到一个目录中,如下所示: /home/webroot/example.com/user/index.php 但是我不知道如何让Nginx忽略扩展的path信息,仍然会提供/user/index.php文件。
我试图把php文件info.php放在/usr/local/www/nginx文件夹中。 对于http://test.com/info.phpurl,它给了我错误404 – Not found 。 我可以访问url http://test.com index.html文件 我在nginx.conf文件中的服务器configuration如下。 server { listen 80; server_name test.com www.test.com; root /usr/local/www/nginx; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; […]
我想su – nginx所以我可以检查是否已经正确设置打开文件的软硬限制。 为什么我不能su – nginx ? 我得到一个错误*No passwd entry for user 'nginx'* 编辑: 当然用户是万维网数据不是nginx …当我做su – www-data我得到这个帐户目前不可用。 基本上我的问题是,我想看到打开的文件的限制。 如果我在root下执行ulimit -n ,我得到了1024,我知道这是错的。
我最近遇到了一个问题,由于Nginx中的DNScaching,服务受到了负面影响,因为我们在关联的Nginxconfiguration中使用了upstream设置。 我已经回顾了以下问题以及search解决scheme,他们都没有使用upstream : https : //stackoverflow.com/questions/26956979/error-with-ip-and-nginx-as-reverse-proxy 。 由于我们使用AWS ELB,因此我们确定了位于上游的两个相同的服务器值。 相关部分如下所示: upstream my_server { server blah.domain.com:443; server blah.domain.com:443; } server { listen 1024; access_log /var/log/nginx/my-access-log.log; error_log /var/log/nginx/my-error-log.log; keepalive_timeout 5; client_max_body_size 40M; location /blah { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host blah.domain.com; proxy_redirect off; proxy_pass https://my_server; } 所以我知道我可以使用parsing器并创build一个服务器部分所在的http部分,但是我无法设置一个variables,然后使用Nginx负载均衡器function。 我不能在上游设置一个variables,因为它不被支持(这会强制DNScaching刷新,如下所示: http : //forum.nginx.org/read.php?2,215830,215832#msg- 215832 )。 所以我的问题是如何解决这个问题? 如何维护upstream提供的负载均衡function,同时确保DNScaching刷新,而不必在社区版本的Nginx中重新启动服务?
伙计们, 我有一个与Nginx和haproxy虚拟机设置充当一个Web应用程序的负载平衡器,需要维护一个客户端连接后,单个后端的会话粘性。 nginxconfiguration非常标准,但是在下面发布。 upstream haproxy { server 127.0.0.1:5000; } server { listen 192.168.1.10:443 ssl; server_name foo.bar.com; ## Compression gzip on; gzip_buffers 16 8k; gzip_comp_level 4; gzip_http_version 1.0; gzip_min_length 1280; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss application/javascript text/javascript image/x-icon image/bmp; gzip_vary on; tcp_nodelay on; tcp_nopush on; sendfile off; access_log /var/log/nginx/foo.bar.com_access.log main; error_log /var/log/nginx/foo.bar.com_error.log warn; location […]
我正试图将这两个Nginx位置定义合并为一个 location /v1/login { proxy_pass http://upstream/v1/login; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_header Authorization; } location /v1/logout { proxy_pass http://upstream/v1/logout; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_header Authorization; } 所以我想这样的事情应该做的工作 location ^~ /v1/(login|logout) { rewrite ^/v1/(.*)$ /v1/$1 break; proxy_pass http://upstream; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } 但是对于我的生活,我无法实现它的工作。 我在这里做错了什么? […]
linux上的nginx 1.7.9 问题: 当使用nginx时,Web服务器即使通过https进入,也可以看到所有的请求。 使用IIS请求跟踪,即使外部(来自浏览器)请求是https://myapp.com:443/appdir/ ,我们也会看到这样的请求: RequestURL="http://myapp.com:80/appdir/" 但是在我们的硬件负载平衡器(我们试图逐步淘汰)上,它的正确性如下: RequestURL="https://myapp.com:443/appdir/" 该应用程序需要查看https,这取决于它。 (它试图强制连接安全。) 我们知道使用X-Forwarded-Proto等来告诉应用程序,请求是通过ssl传入的,然而应用程序的一部分是围绕请求本身构build的,我们可能无法修改它。 硬件负载平衡器可以“完成所有” – 终止ssl,并向应用程序发送“假装”请求(通过端口80),这似乎是对https的请求。 如何让nginx将完整的,不变的请求url传递回服务器? configuration: http { upstream sandbox_site { least_conn; # we pipe to back end on port 80 only, so that nginx handles all ssl server 192.168.2.16:80 max_fails=1 fail_timeout=60s; # sbox3-site is .2.16 } server { # This is sandbox.myapp.com block […]
我已经更改了我的conf文件,以便当用户在没有www的域中键入域名时,它将使用wwwredirect到域: server_name example.com; 返回301 $ scheme://www.example.com$request_uri; 我也希望我的https在/ user下的任何东西 我得到的错误也可能redirect,我哪里错了? 所以我有: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/example.com/site; index index.html index.htm; # Make site accessible from http://localhost/ server_name example.com; return 301 $scheme://www.example.com$request_uri; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying […]