Tag: nginx

nginx在apache之前启动

我一直在通过在一个unbuntu(12.04)盒子上设置redmine来摸索 ,并且沿着NginX线路build立起来,现在apache不再加载,因为nginx已经抓取了端口。 我试着用下面的命令删除NginX,但这似乎没有任何区别。 当我重新启动服务器,并指出我的网页浏览器,我仍然得到“欢迎NginX”消息 sudo apt-get purge nginx 我已经证实,NginX已经不存在了,因为当我运行上述现在我得到一个输出 Package nginx is not installed, so not removed 然而,每次我启动机器,它都会再次运行。 我注意到正在运行的进程以下(如果这是有帮助的) root 923 0.0 0.0 76784 1280 ? Ss 03:00 0:00 nginx: master process /usr/sbin/nginx www-data 925 0.0 0.0 77092 1704 ? S 03:00 0:00 nginx: worker process www-data 926 0.0 0.1 77092 2204 ? S 03:00 […]

为什么nginx可以访问/ etc / passwd?

我正尝试在我的情侣网站上设置新的VPS。 nginx,php-fpm等安装所需的服务。 我为我的网站设置了一个nginx服务器块(虚拟主机),然后尝试创build一个用于testing的php文件。 一切正常,但是我想尝试echo file_get_contents('/etc/passwd')文件进行安全检查。 而且它的工作,一个test.php文件可以访问我的VPS etc / passwd文件等等。 在我尝试echo shell_exec('ls /')并显示我的根文件夹后。 那这是正常的吗? 或者我怎样才能防止这一点。 我想要拒绝访问所有除了/var/www的www-data用户运行PHP代码。 对不起,我的英语不好。 谢谢。

Roundcube,上传失败

我在Ubuntu 14.04上安装了Roundcube,使用NGINX,使用静态IP,SpamAssassin,ClamAV。 发送/接收电子邮件是好的,包括下载,但不能上传任何东西发送。 组态 php.ini文件 memory_limit = 256M max_execution_time = 60 ;open_basedir = log_errors = On post_max_size = 100M file_uploads = On upload_tmp_dir = /tmp upload_max_filesize = 100M 文件夹权限 /tmp srw-rw—- 1 nginx nginx /roundcube/temp drwxrwxrwx 2 nginx nginx 4096 Feb 20 00:41 temp 在nginx.conf中,在http指令下,我已经设置好了 client_max_body_size 100m; 错误日志 -note:输出下面我删除了域名和目录名称。 FastCGI在stderr中发送:“PHP消息:PHP警告:file upload错误 – 无法在第0行的Unknown中创build一个临时文件”,同时从上游读取响应头,客户端:XXXX server:domain.com,请求:“POST / […]

debuggingNGINX – NGINX日志文件中出现无效的请求

我在我的访问日志中获得了数百条条目,这样的无效请求… 217.23.114.224|-|15/Dec/2010:08:17:19 +0000|-|-|-|400|0|-|- 217.23.114.224|-|15/Dec/2010:08:17:19 +0000|-|-|-|400|0|-|- 217.23.114.224|-|15/Dec/2010:08:17:20 +0000|-|-|-|400|0|-|- 217.23.114.224|-|15/Dec/2010:08:17:20 +0000|-|-|-|400|0|-|- 217.23.114.224|-|15/Dec/2010:08:17:20 +0000|-|-|-|400|0|-|- 217.23.114.224|-|15/Dec/2010:08:17:20 +0000|-|-|-|400|0|-|- 我的日志文件格式是 '$remote_addr|$cookie__ourcookie|$time_local|$request|$content_length|$content_type|$status|$body_bytes_sent|$upstream_addr|$upstream_response_time'; IP地址不同,其中一些是有效的用户IP地址(不知道其他人)。 他们经常出现在一组有效的请求中,然后停止。 任何人都有一个想法,为什么我会得到似乎无效的请求洪水进来? 我不认为这可以解释只是说这是一个黑客企图(尽pipe其中的一些可能) – 是否有任何额外的NGINXdebugging设置? 谢谢 克里斯

Nginx错误:读取来自上游的响应头时,“主脚本未知”

我在CentOS 6.6服务器下安装了带有PHP-FPM(PHP 5.5.18)的Nginx 1.6.2。 除了/etc/nginx/conf.d/default.conf文件之外,我没有碰到任何东西,我做了一些修改(见下面): server { listen 80; server_name webvm devserver ; location / { root /var/www/html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; root /var/www/html; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; } […]

nginx如何阻止这个轻量级的DDoS

我有一个电影相关的Wordpress网站运行一个大型数据库(大约150K的职位)。 在重要的交通时间里的某些日子里,我们会受到一个小规模的DDoS的影响,这个DDoS会极大地降低站点的速度,甚至会导致它下降几分钟。 这个DDoS攻击针对的是我们网站的searchfunction,由于这个post很多,所以会占用大量的资源。 由于我对nginx的正则expression式不是很熟悉,我想知道如何阻止这种模式的请求(我检查了IP,但显然是一个僵尸networking): 107.xxx.xxx.xxx – – [26/Jan/2015:20:48:24 +0000] "GET /?s=Dog%20Days%20Double%20Dash HTTP/1.1" 200 12921 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firef$ 79.xx.xxx.xxx – – [26/Jan/2015:20:48:29 +0000] "GET /?s=Dog%20Days%27%27 HTTP/1.1" 200 12908 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0" 77.xxx.xxx.xx – – [26/Jan/2015:20:48:48 +0000] "GET /?s=DragonBall%20Z%3A%20Movie%206 HTTP/1.1" 200 12921 "-" "Mozilla/5.0 (Windows […]

Nginx:Syslog输出错误位置的标签

我试图在FreeBSD jails中将多个Nginx服务器的日志输出到jails的主机上。 我使用的是FreeBSD 10 syslog和Nginx 1.7.10。 在Nginx(在这种情况下,主机名是web )我已经设置: access_log syslog:server=127.0.0.1:514 syslog; http://nginx.org/en/docs/syslog.html 在主机的syslog.conf : +web *.=info /var/log/jails/web/nginx-access.log 在主机的rc.conf : syslogd_flags="-a 10.0.0.1/24:* -v -v -C" 我的文件中的输出是 Mar 31 19:45:50 <local7.info> web web nginx: […] 我的问题是,我想在Nginx中指定标签来区分几个服务器。 根据syslog.conf的FreeBSD文档 如果接收到的消息与指定的设备相匹配并且是指定级别(或更高级别),并且消息中的第一个字符与该程序匹配,则会执行操作字段中指定的操作。 https://www.freebsd.org/cgi/man.cgi?query=syslog.conf&sektion=5 但我的输出是hostname hostname hostname hostname tag / program 。 所以试图在syslog.conf指定程序/标签(如!nginx )不起作用。 有没有办法在FreeBSD的syslog上捕获标签? 这是Nginx 1.7.10中的一个错误吗?

负载为0,但网站爬行(有时)。 是什么赋予了?

我有两个服务器上运行的每天约1.5-2毫米的页面浏览量。 一个用于mysql,其他用于其他。 Mysql框的负载为3,前端通常为0.0-0.1。 双方都是双核四内核8GB ram在raid5中运行SAS驱动器。 CPU大部分时间处于空闲状态,iowait不存在。 我运行nginx,memcache和网站build立在PHP。 有一半的时间一切运行完美,而在其他时候,它滞后于严重的东西,当一个页面加载需要10-15秒。 页面执行时间总是超低的,但是它似乎挂起来,在实际加载页面之前等待一些东西。 更奇怪的是,它只发生在网站上的一个文件(但它是最常访问的那个,实际上加载网站上的内容)。 其他页面在任何时候都非常快,即使加载实际内容需要15秒。 我已经安装了nginx_stats插件,如果我监控它,当写列开始超过100时会发生滞后尖峰,而且它经常会…一直到500-1000。 它是在完全随机的时候这样做的,而不是在交通繁忙的时候……它可以在半夜做到这一点,并在交通最高时在下午5点完成工作。 有任何想法吗?

Nginx作为只有dynamic内容的Apache的反向代理?

在Apache之前运行Nginx作为反向代理服务PHP似乎被普遍认为是好的做法。 使用CDN提供所有静态资源(images / css / js)时,情况仍然如此吗? 很显然,为静态文件提供服务是Nginx的主要优势之一,但是它仍然值得运行,只有dynamic请求才是缓冲客户端的缓冲区。 谢谢, 伊恩

如何只运行脚本如果负载平衡器不通过bash脚本路由请求到它?

我有4个云实例。 首先是一个负载均衡器(LB),然后使用相同的设置保存应用程序代码(APP1&APP2)的两个实例。 最后,我有一个数据库实例(DB)。 DB:MySQL Web服务:Nginx LB将只将所有请求路由到APP1。 如果APP1closures,则LB将把请求路由到APP2。 我想写一个shell脚本,只有当LB没有路由请求时才会执行它。 所以,我将在APP1和APP2上都有一个名为run.sh的脚本。 当且仅当LB将请求路由到APP1时,APP2上的run.sh将通过cron执行。 任何想法如何我可以弄清楚,从APP2,如果LB是路由请求到它?

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.