我有两个sites-enabled ,与server_name如下所示: server_name www.mysite.com mysite.com 和 server_name dev.mysite.com 问题:当我通过IP地址访问网站时,通过查看访问/错误日志,看起来nginx是在dev.mysite.com的root下dev.mysite.com 。 nginx如何决定哪个服务? 当我们使用它的IP地址访问网站时,我们是否可以强制它发送www.mysite.com的root ? CONF server { listen 80; server_name www.mysite.com mysite.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /var/www/mysite/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args ; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_read_timeout 300; } }
在我的nginx.conf中有: gzip on; gzip_static on; gzip_buffers 16 8k; gzip_comp_level 9; gzip_http_version 1.0; gzip_min_length 1000; gzip_types text/plain text/css image/x-icon image/bmp image/png image/gif image/jpeg image/jpg application/json application/x-javascript text/javascript; gzip_vary on; gzip_proxied any; 所以,如果我在我的服务器上获取图片的标题: spiroo@glamdring:~$ curl -I http://static.mysite.com/g/pics/big_6e1855d844ebca560379139e75942f669655f.jpeg HTTP/1.1 200 OK Server: nginx Date: Thu, 04 Apr 2013 13:00:20 GMT Content-Type: image/jpeg Content-Length: 5336 Last-Modified: Mon, 25 Mar […]
我认为这是因为APC,因为我只使用APC系统进行caching。 这里是完整的日志: 2013/04/23 19:15:05 [error] 539#0: *1305213 open() "/var/www/cache/e4ce8db565491cdcf27ab61a441xxxx" failed (2: No such file or directory), client: 2.83.130.yyy, server: zzz.com, request: "GET /cache/e4ce8db565491cdcf27ab61a441xxxx HTTP/1.1", host: "zzz.com", referrer: "http://zzz.com/aPHPfile" configuration:nginx,php5-fpm
我在我的服务器上安装了LEMP堆栈。 我的服务器有1GB的RAM空载。 我已经安装了php-fpm,它看起来像使用我的服务器的大部分内存。 我使用下面的命令来获取正在运行的程序列表: ps aux 而这个命令产生的结果是: [user@server]$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19232 1348 ? Ss Aug23 0:00 init root 2 0.0 0.0 0 0 ? S Aug23 0:00 [kthreadd/145] root 3 0.0 0.0 0 0 ? S Aug23 0:00 [khelper/145] root […]
我有两台RHEL 7机器。 我已经安装了nginx和php-fpm并设置了nfs挂载。 我可以读取/写入nfs mount而不会出现问题,而且我有另一个能够读取写入的应用程序服务器(Apache Geronimo)。 当我安装nginx时,它设置了一个nginx用户,我使用相同的uid和gid在NFS文件服务器上创build了这个用户。 我能够使用nginx用户列出nfs客户端上的文件。 然而,当我试图从nfs服务使用nginx的静态HTML或dynamicPHP文件我得到一个权限错误: *5 stat() "/usr/depot/repository/test.php" failed (13: Permission denied) *5 open() "/usr/depot/repository/test.html" failed (13: Permission denied) 另外我在/ usr / depot / testing下创build了具有相同权限的文件夹(只是不是nfs),工作得很好。 这是客户端的安装信息。 xxx.xxx.xxx.xxx:/mnt/repository on /usr/depot/repository type nfs4 (rw,nosuid,nodev,noexec,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.xxx.xxx,local_lock=none,addr=xxx.xxx.xxx.xxx) 我看不出这个设置有什么问题,所以我不知道为什么nginx无法从nfs共享中读取这些文件。 更新 好的,我只是禁用SELinux重新启动,并修复它。 现在的问题是如何configurationSELinux,使nginx可以访问远程服务器。
根据这篇文章的基准testing,IIS在速度上始终优于nginx。 具体而言,IIS使用的CPU性能比nginx低2.3倍,处理的请求数量增加了一倍以上,响应时间还不到一半。 博客文章没有多说什么IIS在内部做得如此之快。 它只是说: 当与Windows操作系统结合使用时,IIS是快速和可靠的。 我想知道究竟是什么IIS(或者也许是Windows NT)使它比Linux上的nginx快得多。 我无法find有关使IIS如此之快的其他信息。 不过,我确实find了另一个与第一个基准一致的基准 。
我在基于AWS的项目结构上工作。 并找出最适合我的: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/images/aeb-vpc-rds-topo.png 但是我所有的实例在本地都认为NGINX。 我使用NGINX作为代理。 我可以在这个scheme中转换NGINX的NAT吗? http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/images/aeb-vpc-rds-topo.png 换句话说 – NGINX能做NAT吗? 或者我应该从我的实例中删除NGINX,并使用其他代理?
我不知道如何更好地提出这个问题,所以让我知道如果有更好的方法,但这是我想要做的。 我有一个应用程序发送一个基于请求url的HTML文件,该应用程序还在caching文件夹中创build该html文件的caching,以便nginx可以在下次访问同一url时提供caching文件。 这是如预期的工作,除了我不希望caching由nginx在有查询参数时读取。 我想要的应用程序是一个处理请求时发生这种情况,但发送caching而不是。 这是我到目前为止: location / { root /path/to/site; try_files /content/cache/$uri.html @app; } location @app { proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } 那么如何让try_files绕过content/cache/$uri.html并在url中存在查询参数时直接进入@app ?
我在aws弹性beanstalk平台上有一个运行在nginx上的Rails应用程序。 我检查了nginx / access.log,发现了一些可疑的GET请求,如下所示: SUSPICIOUS_URL == '#m. #face #book #.com' 172.31.17.148 – – [24/Jul/2016:04:02:37 +0000] "GET /bisnis/read/2439204/beredar-di-medsos-bi-bantah-keluarkan-uang-pecahan-rp-200-ribu HTTP/1.1" 301 5 "http://SUSPICIOUS_URL/" "Mozilla/5.0 (Linux; Android 5.1.1; SM-E700H Build/LMY47X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2 704.81 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/86.0.0.19.69;]" "175.141.68.34" 172.31.17.148 – – [24/Jul/2016:04:02:37 +0000] "GET /bisnis/read/2439204/beredar-di-medsos-bi-bantah-keluarkan-uang-pecahan-rp-200-ribu HTTP/1.1" 301 5 "http://SUSPICIOUS_URL/" "Mozilla/5.0 (Linux; Android 5.1.1; SM-E700H […]
当我运行dig example.com ,响应返回SERVER: 192.168.0.1 ,即使在后续运行。 这意味着DIG始终在进行networking调用来parsingDNSlogging。 我(而不是无知)认为我的操作系统将根据其TTLcachingDNSlogging,并且DIG将使用该caching。 DIG是否忽略TTL /默认不使用caching? 如果是这样,我怎样才能让DIG使用caching和荣誉TTLs? 背景/ XY问题: 我想要一种快速解决我正在编写的nginx脚本的DNS TXTlogging的方法。 该脚本将根据这些TXTlogging的内容来路由请求,所以我希望使用哪种方法来实现TTL,并在适当情况下使用本地cachinglogging。