我使用nginx作为一个反向代理与Apache后端处理一些PHP文件。 这些文件返回正确的过期头文件,proxy_cache做了很好的caching,但是我注意到caching内容在每次刷新时都会返回200,因为在caching文件上返回304可能更有效。 有问题的文件是由PHP生成的。 因为他们已经被美化,所以url中没有.php。 任何想法为什么Nginx可能不会返回304重复访问caching的PHP输出? 澄清:它使用proxy_cache来cachingdynamicPHP页面(不是由PHP生成的静态html页面)。 我在时间+ 24小时的PHP文件中设置过期标题。 考虑到这一点,我希望nginx能够在24小时内返回304caching版本。
Server是运行Ubuntu 12.04的Xen VPS,重启后nginx和NSD3都没有出现。 明显的原因是,它们无法在引导后立即绑定到分配的IP地址, 来自/var/log/boot.log * Starting configure network device [ OK ] * Stopping save kernel messages [ OK ] * Starting MTA [ OK ] nginx: [emerg] bind() to [2a01:1b0:removed:1c9c]:80 failed (99: Cannot assign requested address) * Starting nsd3… [ OK ] […] * Starting configure virtual network devices [ OK ] * […]
我已经设置清漆运行在80端口似乎工作正常。 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME varnishd 8005 nobody 7u IPv4 14055 0t0 TCP *:http (LISTEN) varnishd 8005 nobody 8u IPv6 14056 0t0 TCP *:http (LISTEN) 在/ etc / nginx中的可用站点下我有文件的默认值: server { listen 8080; …. nginx:[emerg] bind()到0.0.0.0:80失败(98:地址已经在使用) 为什么还在找端口80?
所以前两天我问如何将php和nginx日志logging到集中的MySQL数据库 ,并且m0ntassar给了一个完美的答案:)加油! 我现在面临的问题是,我似乎无法得到它的工作。 syslog-ng版本: # syslog-ng –version syslog-ng 3.2.5 这是我的nginx日志格式: log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; syslog-ng源码: source nginx { file( "/var/log/nginx/tg-test-3.access.log" follow_freq(1) flags(no-parse) ); }; syslog-ng目的地: destination d_sql { sql(type(mysql) host("127.0.0.1") username("syslog") password("superpasswd") database("syslog") table("nginx") columns("remote_addr","remote_user","time_local","request","status","body_bytes_sent","http_ referer","http_user_agent","http_x_forwarded_for") values("$REMOTE_ADDR", "$REMOTE_USER", "$TIME_LOCAL", "$REQUEST", "$STATUS","$BODY_BYTES_SENT", "$HTTP_REFERER", "$HTTP_USER_AGENT", "$HTTP_X_FORWARDED_FOR")); }; […]
我试图设置我的rails应用程序到一个特定的子域。 我正在使用ec2实例与bitnami rubystack虚拟机我开发的应用程序使用它的服务器的IP,所以我知道轨道和应用程序的工作。 $ {nginx的-DIR} /conf/nginx.conf server { listen 80 default_server; server_name _; server_name_in_redirect off; proxy_intercept_errors on; return 401; } include "/opt/bitnami/nginx/conf/vhosts/*.conf"; $ {nginx的-DIR} /conf/vhosts/backend.conf upstream thin_instances { server 0.0.0.0:3000; server 0.0.0.0:3001; server 0.0.0.0:3002; fair; } server { # port to listen on. Can also be set to an IP:PORT listen 80; server_name backend.mydomain.com; root […]
我有一个用–with-http_mp4_module编译的nginx/1.2.3服务器作为伪stream服务器。 stream媒体和寻求工作很好,除了缓冲。 似乎缓冲区指令正在被完全忽略。 这里是stream媒体部分的location声明; location /video_dump/ { alias /var/www/mp4/; mp4; mp4_buffer_size 512k; mp4_max_buffer_size 1m; } 上述location位于https服务器的server块中。 我知道缓冲区指令被忽略,因为只要video开始stream式传输,它开始下载而不停止在声明的限制。 任何接受者?
用limit_conn_zone指令耗尽指定给连接区域的内存的可能情况是什么?这种情况下的含义是什么? 假设我在我的configuration中有这个: http { limit_conn_zone $binary_remote_addr zone=connzone:1m; … server { limit_conn connzone 5; 根据文档, connzone在64位服务器上为connzone分配16000个状态。 它也是这样说的 如果某个区域的存储空间用尽,则服务器将向所有其他请求返回错误503(服务暂时不可用)。 那好吧。 但是这对练习意味着什么呢? 这是什么时候发生的? 谁收到这些503s? 这是否意味着,如果与connzone相关联的IP数量达到16000,每个人都得到503,这一切都结束了? Nginx是如何决定的? 这个文件很古怪。 所以,考虑到configuration的例子,谁会得到一个503,在哪些情况下,事情会如何呢? 与请求区域一样 ?
我正在使用nginx,我试图将http://vhost.domain.com上的所有请求redirect到http://vhost.domain.com/world 我已经浏览了一些网站,但我太菜鸟了,为了获得好的结果,请给我一些帮助? PS:这是我最后一次尝试的: location = /world { rewrite ^ http://vhost.domain.com$uri permanent; } 亲切的问候, 半
我遇到这个问题访问我的弹性公网IP在我的EC2实例在Web浏览器中。 安装了REDHAT 6.3,并安装了nginxnetworking服务器(启动并运行),并确保我启用了端口80,并且安装了所有需要的东西。 现在时间进入公共IP查看默认的nginx网页,什么也没有发生。 我无法访问IP地址。 现在我可以ping其他网站,但不能ping我的IP地址。 现在经过几个小时的尝试,并试图找出发生了什么事情…我想我应该检查在REDHAT操作系统的networking,每当我尝试编辑任何networking相关..这就是我失去了连接到服务器和无法重新启动networking。 我在这里错了什么? 为什么只是通过IP访问我的服务器这样一个困难的事情? 我现在需要做什么? 谢谢。 编辑。 这里是与EC2实例关联的安全组 Ports Protocol Source 20-21 tcp 0.0.0.0/0 22 tcp 0.0.0.0/0 80 tcp 0.0.0.0/0 14000-14050 tcp 0.0.0.0/0
我用systemd,nginx和php用php-fpm运行Arch linux。 我想(和失败)configurationmemcached存储会话使用unix套接字。 我有memcached安装和活动,但是,我无法禁用networking。 我将下面一行添加到/etc/conf.d/memcached MEMCACHED_ARGS="-s unix:///tmp/memcached.sock -a 666" 我也试过: MEMCACHED_ARGS="-s /tmp/memcached.sock -a 666" MEMCACHED_ARGS="-s unix:/tmp/memcached.sock -a 666" 当我重新启动memcached我总是得到: memcached.service – Memcached Daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled) Active: active (running) since Sat 2013-01-19 17:41:15 PST; 5min ago Main PID: 773 (memcached) CGroup: name=systemd:/system/memcached.service └─773 /usr/bin/memcached -l 127.0.0.1 当我运行PHP脚本会话PHP错误日志显示(不奇怪): [19-Jan-2013 16:46:45 America/Los_Angeles] PHP Warning: Unknown: Failed […]