location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; }
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ # expires 7d; # access_log off; #}
添加一些配置php
location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; //過時時間7天 valid_referers none blocked server_names *.test.com ; //定義一個白名單,referer就是指一些域名 if ($invalid_referer) { //若是不是白名單裏的 return 403; //返回403 } access_log off; }
最後結果以下css
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf server { listen 80; server_name test.com test1.com test2.com; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://test.com/$1 permanent; } #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ # expires 7d; # access_log off; #} location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } location ~ .*\.(js|css)$ { expires 12h; access_log off; } access_log /tmp/test.com.log combined_realip; } 保存退出
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 -I test.com/1.gif HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 22:50:02 GMT Content-Type: image/gif Content-Length: 8 Last-Modified: Thu, 04 Jan 2018 21:50:34 GMT Connection: keep-alive ETag: "5a4ea1aa-8" Expires: Thu, 11 Jan 2018 22:50:02 GMT Cache-Control: max-age=604800 Accept-Ranges: bytes [root@hf-01 ~]#
[root@hf-01 ~]# curl -e "http://www.baidu.com/1.txt" -x127.0.0.1:80 -I test.com/1.gif HTTP/1.1 403 Forbidden Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 22:51:54 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive [root@hf-01 ~]# curl -e "http://www.test.com/1.txt" -x127.0.0.1:80 -I test.com/1.gif HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Thu, 04 Jan 2018 22:52:22 GMT Content-Type: image/gif Content-Length: 8 Last-Modified: Thu, 04 Jan 2018 21:50:34 GMT Connection: keep-alive ETag: "5a4ea1aa-8" Expires: Thu, 11 Jan 2018 22:52:22 GMT Cache-Control: max-age=604800 Accept-Ranges: bytes [root@hf-01 ~]#
location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; }
location ~ .*(abc|image)/.*\.php$ { deny all; }
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { return 403; }
location /admin/ { allow 192.168.74.129; //白名單 allow 127.0.0.1; //白名單 deny all; //所有deny }
最後結果以下html
[root@hanfeng ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 假設訪問的目錄是admin,作一個限制 server { listen 80; server_name test.com test1.com test2.com; index index.html index.htm index.php; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://test.com/$1 permanent; } # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ # { # expires 7d; # access_log off; #} location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } location ~ .*\.(js|css)$ { expires 12h; access_log off; } location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } access_log /tmp/test.com.log combined_realip; } 而後保存退出
[root@hanfeng ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hanfeng ~]# /usr/local/nginx/sbin/nginx -s reload [root@hanfeng ~]#
[root@hf-01 ~]# curl -e "http://www.test.com/1.txt" -x127.0.0.1:80 -I test.com/admin/ HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 21:04:13 GMT Content-Type: text/html Content-Length: 19 Last-Modified: Wed, 03 Jan 2018 21:43:17 GMT Connection: keep-alive ETag: "5a4d4e75-13" Accept-Ranges: bytes [root@hf-01 ~]# curl -x192.168.74.150:80 -I test.com/admin/ HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 21:06:56 GMT Content-Type: text/html Content-Length: 19 Last-Modified: Wed, 03 Jan 2018 21:43:17 GMT Connection: keep-alive ETag: "5a4d4e75-13" Accept-Ranges: bytes [root@hf-01 ~]#
[root@hf-01 ~]# cat /tmp/test.com.log 127.0.0.1 - [05/Jan/2018:05:51:37 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [08/Jan/2018:05:04:13 +0800] test.com "/admin/" 200 "http://www.test.com/1.txt" "curl/7.29.0" 192.168.74.129 - [08/Jan/2018:05:06:56 +0800] test.com "/admin/" 200 "-" "curl/7.29.0" [root@hf-01 ~]#
[root@hf-01 ~]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.74.129 netmask 255.255.255.0 broadcast 192.168.74.255 inet6 fe80::20c:29ff:feff:fe93 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ff:fe:93 txqueuelen 1000 (Ethernet) RX packets 453 bytes 42359 (41.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 308 bytes 39999 (39.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eno16777736:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.74.150 netmask 255.255.255.0 broadcast 192.168.74.255 ether 00:0c:29:ff:fe:93 txqueuelen 1000 (Ethernet) ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::20c:29ff:feff:fe9d prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ff:fe:9d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 13 bytes 2334 (2.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@hf-01 ~]#
[root@hf-01 ~]# dhclient ens36 [root@hf-01 ~]#
[root@hf-01 ~]# curl -x192.168.204.128:80 -I test.com/admin/ HTTP/1.1 403 Forbidden Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 21:17:39 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive [root@hf-01 ~]#
[root@hf-01 ~]# !cat cat /tmp/test.com.log 127.0.0.1 - [05/Jan/2018:05:51:37 +0800] test.com "/index.html" 200 "-" "curl/7.29.0" 127.0.0.1 - [08/Jan/2018:05:04:13 +0800] test.com "/admin/" 200 "http://www.test.com/1.txt" "curl/7.29.0" 192.168.74.129 - [08/Jan/2018:05:06:56 +0800] test.com "/admin/" 200 "-" "curl/7.29.0" 192.168.204.128 - [08/Jan/2018:05:17:39 +0800] test.com "/admin/" 403 "-" "curl/7.29.0" [root@hf-01 ~]#
location ~ .*(upload|image)/.*\.php$ //只要匹配upload,而後以php結尾的 { deny all; //都禁掉 }
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf server { listen 80; server_name test.com test1.com test2.com; index index.html index.htm index.php; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://test.com/$1 permanent; } #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ # expires 7d; # access_log off; #} location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } location ~ .*\.(js|css)$ { expires 12h; access_log off; } location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } location ~ .*(upload|image)/.*\.php$ { deny all; } access_log /tmp/test.com.log combined_realip; } 保存退出
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# mkdir /data/wwwroot/test.com/upload [root@hf-01 ~]# echo "11111" > /data/wwwroot/test.com/upload/1.php [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/upload/1.php <html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx/1.12.1</center> </body> </html> [root@hf-01 ~]#
[root@hf-01 ~]# echo "dasdasdas" >/data/wwwroot/test.com/upload/1.txt [root@hf-01 ~]# curl -x127.0.0.1:80 test.com/upload/1.txt dasdasdas [root@hf-01 ~]#
[root@hf-01 ~]# cat /tmp/test.com.log
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { return 403; }
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf server { listen 80; server_name test.com test1.com test2.com; index index.html index.htm index.php; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://test.com/$1 permanent; } #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ # expires 7d; # access_log off; #} location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } location ~ .*\.(js|css)$ { expires 12h; access_log off; } location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } location ~ .*(upload|image)/.*\.php$ { deny all; } if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { return 403; } access_log /tmp/test.com.log combined_realip; } 保存退出
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/upload/1.txt -I HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 22:04:06 GMT Content-Type: text/plain Content-Length: 10 Last-Modified: Sun, 07 Jan 2018 21:45:54 GMT Connection: keep-alive ETag: "5a529512-a" Accept-Ranges: bytes [root@hf-01 ~]# curl -A "Tomatoslfdfsdf" -x127.0.0.1:80 test.com/upload/1.txt -I HTTP/1.1 403 Forbidden Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 22:05:21 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive [root@hf-01 ~]#
[root@hf-01 ~]# curl -A "tomatoslfdfsdf" -x127.0.0.1:80 test.com/upload/1.txt -I HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 22:09:10 GMT Content-Type: text/plain Content-Length: 10 Last-Modified: Sun, 07 Jan 2018 21:45:54 GMT Connection: keep-alive ETag: "5a529512-a" Accept-Ranges: bytes [root@hf-01 ~]#
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato') { return 403; }
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]#
[root@hf-01 ~]# curl -A "tomatoslfdfsdf" -x127.0.0.1:80 test.com/upload/1.txt -I HTTP/1.1 403 Forbidden Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 22:11:06 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive [root@hf-01 ~]#
location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; }
location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; //寫錯這個路徑,就會顯示502 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; }
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf server { listen 80; server_name test.com test1.com test2.com; index index.html index.htm index.php; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://test.com/$1 permanent; } #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #{ # expires 7d; # access_log off; #} location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names *.test.com ; if ($invalid_referer) { return 403; } access_log off; } location ~ .*\.(js|css)$ { expires 12h; access_log off; } location /admin/ { allow 192.168.74.129; allow 127.0.0.1; deny all; } location ~ .*(upload|image)/.*\.php$ { deny all; } if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { return 403; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; } access_log /tmp/test.com.log combined_realip; } 保存退出
[root@hf-01 ~]# vim /data/wwwroot/test.com/3.php <?php phpinfo(); 保存退出
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php <?php phpinfo(); [root@hf-01 ~]#
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf [root@hf-01 ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.12.1</center> </body> </html> [root@hf-01 ~]#
[root@hf-01 ~]# cat /usr/local/nginx/logs/nginx_error.log 2018/01/08 06:42:21 [crit] 3392#0: *22 connect() to unix:/tmp/php-afcgi.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: test.com, request: "GET HTTP://test.com/3.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-afcgi.sock:", host: "test.com" [root@hf-01 ~]#
[root@hf-01 ~]# [root@hf-01 ~]# ls /tmp/php-afcgi.sock ls: 沒法訪問/tmp/php-afcgi.sock: 沒有那個文件或目錄 [root@hf-01 ~]# cat /usr/local/php-fpm/etc/php-fpm.conf [global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log [www] listen = /tmp/php-fcgi.sock listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 [root@hf-01 ~]#
[root@hf-01 ~]# vim /usr/local/php-fpm/etc/php-fpm.conf [global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log [www] #listen = /tmp/php-fcgi.sock listen = 127.0.0.1:9000 listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 保存退出
[root@hf-01 ~]# /etc/init.d/php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done [root@hf-01 ~]#
[root@hf-01 ~]# /usr/local/php-fpm/sbin/php-fpm -t [08-Jan-2018 07:10:32] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1539/master tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3528/php-fpm: maste tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1218/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1191/sshd tcp6 0 0 ::1:25 :::* LISTEN 1539/master tcp6 0 0 :::3306 :::* LISTEN 1566/mysqld tcp6 0 0 :::22 :::* LISTEN 1191/sshd [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php <html> <head><title>502 Bad Gateway</title></head> <body bgcolor="white"> <center><h1>502 Bad Gateway</h1></center> <hr><center>nginx/1.12.1</center> </body> </html> [root@hf-01 ~]#
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 在php配置那一塊,註釋掉unix,添加ip和端口 #fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_pass 127.0.0.1:9000; 保存退出
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php -I HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 23:23:11 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30 [root@hf-01 ~]#
[root@hf-01 ~]# vi /usr/local/php-fpm/etc/php-fpm.conf [global] pid = /usr/local/php-fpm/var/run/php-fpm.pid error_log = /usr/local/php-fpm/var/log/php-fpm.log [www] listen = /tmp/php-fcgi.sock #listen = 127.0.0.1:9000 #listen.mode = 666 user = php-fpm group = php-fpm pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024 保存退出
[root@hf-01 ~]# /etc/init.d/php-fpm reload Reload service php-fpm done
[root@hf-01 ~]# ls -l /tmp/php-fcgi.sock srw-rw---- 1 root root 0 1月 8 07:47 /tmp/php-fcgi.sock
[root@hf-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf
[root@hf-01 ~]# /usr/local/nginx/sbin/nginx -s reload
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php -I HTTP/1.1 502 Bad Gateway Server: nginx/1.12.1 Date: Sun, 07 Jan 2018 23:54:07 GMT Content-Type: text/html Content-Length: 173 Connection: keep-alive
[root@hf-01 ~]# !tail tail /usr/local/nginx/logs/nginx_error.log 2018/01/08 06:42:21 [crit] 3392#0: *22 connect() to unix:/tmp/php-afcgi.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: test.com, request: "GET HTTP://test.com/3.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-afcgi.sock:", host: "test.com" 2018/01/08 07:13:39 [crit] 3518#0: *24 connect() to unix:/tmp/php-fcgi.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: test.com, request: "GET HTTP://test.com/3.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fcgi.sock:", host: "test.com" 2018/01/08 07:54:07 [crit] 3790#0: *32 connect() to unix:/tmp/php-fcgi.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: test.com, request: "HEAD HTTP://test.com/3.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fcgi.sock:", host: "test.com" [root@hf-01 ~]#
[root@hf-01 ~]# ps aux |grep nginx root 1218 0.0 0.1 21784 1692 ? Ss 00:11 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf nobody 3929 0.0 0.3 23664 3692 ? S 08:18 0:00 nginx: worker process nobody 3930 0.0 0.3 23664 3692 ? S 08:18 0:00 nginx: worker process root 3932 0.0 0.0 112676 984 pts/0 R+ 08:18 0:00 grep --color=auto nginx [root@hf-01 ~]#
[root@hf-01 ~]# chown nobody /tmp/php-fcgi.sock [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php -I HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Mon, 08 Jan 2018 00:22:43 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30 [root@hf-01 ~]#
[root@hf-01 ~]# vi /usr/local/php-fpm/etc/php-fpm.conf listen.mode = 666
[root@hf-01 ~]# /etc/init.d/php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done [root@hf-01 ~]#
[root@hf-01 ~]# !ls ls -l /tmp/php-fcgi.sock srw-rw-rw- 1 root root 0 1月 8 08:28 /tmp/php-fcgi.sock [root@hf-01 ~]#
[root@hf-01 ~]# curl -x127.0.0.1:80 test.com/3.php -I HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Mon, 08 Jan 2018 00:30:04 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30 [root@hf-01 ~]#
server { listen 80; server_name ask.apelearn.com; location / { proxy_pass http://121.201.9.155/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
[root@hanfeng ~]# cd /usr/local/nginx/conf/vhost [root@hanfeng vhost]#
[root@hanfeng vhost]# vim proxy.conf 加入如下內容 server { listen 80; server_name ask.apelearn.com; //定義域名,論壇的網站 location / { proxy_pass http://121.201.9.155/; //定義域名,論壇的IP proxy_set_header Host $host; //定義訪問的域名 爲 $host =server_name ask.apelearn.com proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 保存退出
[root@hanfeng vhost]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful [root@hanfeng vhost]# /usr/local/nginx/sbin/nginx -s reload [root@hanfeng vhost]#
[root@hanfeng vhost]# curl ask.apelearn.com/robots.txt # # robots.txt for MiWen # User-agent: * Disallow: /?/admin/ Disallow: /?/people/ Disallow: /?/question/ Disallow: /account/ Disallow: /app/ Disallow: /cache/ Disallow: /install/ Disallow: /models/ Disallow: /crond/run/ Disallow: /search/ Disallow: /static/ Disallow: /setting/ Disallow: /system/ Disallow: /tmp/ Disallow: /themes/ Disallow: /uploads/ Disallow: /url-* Disallow: /views/ Disallow: /*/ajax/[root@hanfeng vhost]# [root@hanfeng vhost]#
[root@hanfeng vhost]# curl -x127.0.0.1:80 ask.apelearn.com/robots.txt # # robots.txt for MiWen # User-agent: * Disallow: /?/admin/ Disallow: /?/people/ Disallow: /?/question/ Disallow: /account/ Disallow: /app/ Disallow: /cache/ Disallow: /install/ Disallow: /models/ Disallow: /crond/run/ Disallow: /search/ Disallow: /static/ Disallow: /setting/ Disallow: /system/ Disallow: /tmp/ Disallow: /themes/ Disallow: /uploads/ Disallow: /url-* Disallow: /views/ Disallow: /*/ajax/[root@hanfeng vhost]#
502問題彙總mysql
location優先級nginx