一、php-fpm的pool;php
在php-fpm里面有一个概念,叫作pool,使用ps aux|grep php-fpm最右侧的那一列就是pool,也就是它的池子;html
[root@localhost_001 vhost]# ps aux |grep php-fpm root 1072 0.0 0.2 227240 4948 ? Ss 09:31 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf) php-fpm 1073 0.0 0.2 227240 4704 ? S 09:31 0:00 php-fpm: pool www php-fpm 1074 0.0 0.2 227240 4704 ? S 09:31 0:00 php-fpm: pool www php-fpm 1075 0.0 0.2 227240 4704 ? S 09:31 0:00 php-fpm: pool www php-fpm 1076 0.0 0.2 227240 4704 ? S 09:31 0:00 php-fpm: pool www php-fpm 1077 0.0 0.2 227240 4708 ? S 09:31 0:00 php-fpm: pool www php-fpm 1078 0.0 0.2 227240 4708 ? S 09:31 0:00 php-fpm: pool www php-fpm 1079 0.0 0.2 227240 4708 ? S 09:31 0:00 php-fpm: pool www php-fpm 1080 0.0 0.2 227240 4708 ? S 09:31 0:00 php-fpm: pool www [root@localhost_001 vhost]# ps aux |grep php-fpm |grep -v 'grep'|wc -l 21
2:切换目录,会看到咱们只定义了一个www的pool;nginx
注释:实际上是支持定义多个池子的,每个池子能够监听不一样的sock和IP地址,nginx有多个站点的时候,每一个站点去使用一个独立的pool;apache
站点分开使用pool的优点:当其中一个php发生了502错误(有多是资源不够了),若是全部的站点共同使用了一个pool池子,那么当其中一个网站发生了故障(可能写的程序有问题),会把你的php的资源耗尽,这样会形成其余站点也会502,因此有必要把每一个站点隔离开来,每个站点使用独立的pool; 请求过多,资源耗尽;vim
设置多个pool的方法以下;浏览器
(1):在/usr/local/php-fpm/etc/php-fpm里继续增长第二个pool; test 以下:安全
[root@localhost_001 etc]# cat 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 [test] #定义的第二个pool池子; listen = /tmp/test.sock #经过监听的sock来区分; 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
注释:如上图例:咱们自定义名称:test 自定义监听方式为 listen = /tmp/test.sockbash
3:而后检测php-fpm 并从新启动服务;服务器
[root@localhost_001 etc]# /usr/local/php-fpm/sbin/php-fpm -t [06-Nov-2018 12:37:27] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@localhost_001 etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
4:这是再使用ps aux|grep php-fpm 查看,会发现右侧多了 test 的 pool 的池子;curl
[root@localhost_001 etc]# ps aux |grep php-fpm root 3750 0.0 0.2 123708 4968 ? Ss 12:37 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf) php-fpm 3751 0.0 0.2 123648 4700 ? S 12:37 0:00 php-fpm: pool www php-fpm 3752 0.0 0.2 123648 4700 ? S 12:37 0:00 php-fpm: pool www php-fpm 3753 0.0 0.2 123648 4700 ? S 12:37 0:00 php-fpm: pool www php-fpm 3754 0.0 0.2 123648 4700 ? S 12:37 0:00 php-fpm: pool www php-fpm 3755 0.0 0.2 123648 4704 ? S 12:37 0:00 php-fpm: pool www php-fpm 3787 0.0 0.2 123648 4712 ? S 12:37 0:00 php-fpm: pool test php-fpm 3788 0.0 0.2 123648 4712 ? S 12:37 0:00 php-fpm: pool test php-fpm 3789 0.0 0.2 123648 4716 ? S 12:37 0:00 php-fpm: pool test php-fpm 3790 0.0 0.2 123648 4716 ? S 12:37 0:00 php-fpm: pool test [root@localhost_001 etc]# ps aux |grep php-fpm|grep test|wc -l 20
注释:当时主进程仍是只有1个的;
5:在nginx配置里用另外一个站点使用新的pool池子;
[root@localhost_001 etc]# cd /usr/local/nginx/conf/vhost/ [root@localhost_001 vhost]# ls aaa.com.conf ssl.conf test.com.conf
注释:如上图例,咱们有两个站点; aaa.com test.com.conf
1:test.com.conf使用是www的pool,经过以下配置来指定使用哪一个pool;
#fastcgi_pass unix:/tmp/php-fcgi.sock; #经过指定/tmp/下的通讯sock来决定使用哪一个pool池子;
[root@localhost_001 vhost]# cat test.com.conf server { listen 80; server_name www.test.com bbs.test.com test1.com; index index.html index.htm index.php; root /data/wwwroot/test.com; location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; #指定使用php-fcgi的pool池子;##写错这个路径,就会显示502 # fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; } access_log /tmp/test.com.log combined_realip; }
2:设置aaa.com来使用以前定义好的pool池子test;
[root@localhost_001 vhost]# vim aaa.com.conf server { listen 80 default_server; # 有这个标记的就是默认虚拟主机 server_name aaa.com; index index.html index.htm index.php; root /data/wwwroot/default; location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/tmp/test.sock; #指定使用test的pool池子;##写错这个路径,就会显示502 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; } }
注释:如上图例,这样两个站点就隔离开了;
注释:假设www.test.com请求了很大,最终将php-fpm进程耗尽了,当有其余的请求过来时,就会报502错误,由于没有多余的php-fpm提供服务了,而另外一个站点aaa.com则不受影响,由于使用的是另外一个pool池子(test),这就是须要定义多个池子的缘由了;
6:方法二,在/usr/local/php-fpm/etc/php-fpm写入include vhost/*.conf,而后vhost下分别写入多个pool池子,其他配置不变;
注释:这里的配置和nginx的虚拟主机的用法是同样子的;
1:首先把在配置文件/usr/local/php-fpm/etc/php-fpm里global里加入以下一行;将其余池子的内容都删除; 100dd ---> 快速删除;
2:上图例中定义include定义的是在etc/php-fpm.d/*.conf目录下,全部还须要建立这个目录;
[root@localhost_001 etc]# mkdir php-fpm.d [root@localhost_001 etc]# ls pear.conf php-fpm.conf php-fpm.conf.default php-fpm.d php.ini
3:建立www.conf(即www.test.com的pool池子);
[root@localhost_001 php-fpm.d]# vim www.conf [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
建立test.com(即aaa.com的pool池子);
[root@localhost_001 php-fpm.d]# vim test.conf [test] #定义的第二个pool池子; listen = /tmp/test.sock #经过监听的sock来区分; 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
4:检测是否有错误,并从新启动php-fpm;
[root@localhost_001 php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t [06-Nov-2018 14:21:23] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@localhost_001 php-fpm.d]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
5:用ps aux |grep php-fpm 查看是否正常;
[root@localhost_001 php-fpm.d]# ps aux |grep php-fpm root 3888 0.0 0.2 123708 4976 ? Ss 14:21 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf) php-fpm 3889 0.0 0.2 123648 4704 ? S 14:21 0:00 php-fpm: pool test php-fpm 3890 0.0 0.2 123648 4704 ? S 14:21 0:00 php-fpm: pool test php-fpm 3891 0.0 0.2 123648 4704 ? S 14:21 0:00 php-fpm: pool test php-fpm 3892 0.0 0.2 123648 4704 ? S 14:21 0:00 php-fpm: pool test php-fpm 3893 0.0 0.2 123648 4708 ? S 14:21 0:00 php-fpm: pool test php-fpm 3894 0.0 0.2 123648 4708 ? S 14:21 0:00 php-fpm: pool test php-fpm 3921 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3922 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3923 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3924 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3925 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3926 0.0 0.2 123648 4716 ? S 14:21 0:00 php-fpm: pool www php-fpm 3927 0.0 0.2 123648 4720 ? S 14:21 0:00 php-fpm: pool www php-fpm 3928 0.0 0.2 123648 4720 ? S 14:21 0:00 php-fpm: pool www
三、php的慢执行日记;
在作php的网站,建议使用lnmp,方便分析php的慢执行日记;
查询方法:系统负载,能够经过各类工具查看,查出是那个进程致使的;
php的访问慢:经过查看慢执行日记;
1:在php的pool池子中添加以下两行; /usr/local/php-fpm/etc/php-fpm.d/www.conf
[root@localhost_001 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf [root@localhost_001 php-fpm.d]# cat www.conf [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 3新赠以下两行; request_slowlog_timeout = 1 #慢执行超过1s后则记录日记; slowlog = /usr/local/php-fpm/var/log/www-slow.log #慢执行日记记录的位置在这里;
2:检测语法错误并从新加载配置文件;
[root@localhost_001 php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t [06-Nov-2018 14:36:27] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@localhost_001 php-fpm.d]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
3:查看慢执行日记文件是否生成;
[root@localhost_001 php-fpm.d]# ls /usr/local/php-fpm/var/log/www-slow.log /usr/local/php-fpm/var/log/www-slow.log [root@localhost_001 php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log
注释:日记为空,由于没有慢执行的记录;
4:此时模拟慢执行的php,因此须要在/data/wwwroot/test下操做;
[root@localhost_001 php-fpm.d]# vim /data/wwwroot/test.com/sleep.php cat /data/wwwroot/test.com/sleep.php <?php echo “test slow log”; sleep(2);echo “done”; ?>
运行php脚本;未输出任何信息,状态码限制500错误;
[root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/sleep.php -I HTTP/1.1 500 Internal Server Error Server: nginx/1.4.7 Date: Tue, 06 Nov 2018 06:42:01 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30
5:查看错误日记,简单的方法是在它的配置里打开错误日记显示,让其显示到浏览器上;
[root@localhost_001 php-fpm.d]# vim /usr/local/php-fpm/etc/php.ini display_errors = On [root@localhost_001 php-fpm.d]# service php-fpm start
再次用curl命令来查看; 显示语法错误;有多是逗号 分号写的不对;
[root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/sleep.php <br /> <b>Parse error</b>: syntax error, unexpected 'slow' (T_STRING), expecting ',' or ';' in <b>/data/wwwroot/test.com/sleep.php</b> on line <b>2</b><br />
再次查看其sleep.php 修改其标点符号;
[root@localhost_001 php-fpm.d]# vim /data/wwwroot/test.com/sleep.php <?php echo "test slow log"; sleep(2);echo "done"; ?> [root@localhost_001 php-fpm.d]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
5:再次测试,会看到访问成功了,可是停顿了几秒;
[root@localhost_001 php-fpm.d]# !curl curl -x127.0.0.1:80 www.test.com/sleep.php
6:再次查看是否生成了慢查询日记;
[root@localhost_001 php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log [06-Nov-2018 14:53:00] [pool www] pid 4168 script_filename = /data/wwwroot/test.com/sleep.php [0x00007fbc55df1258] sleep() /data/wwwroot/test.com/sleep.php:3
注释:这个是慢查询日记的功能了,若是遇到php访问慢的状况,能够经过此日记来查看;
注释:在/usr/local/php-fpm/etc/php-fpm.d/www.conf里定义的内容:request_slowlog_timeout = 1 #后面的1设置慢执行日记的时间;
注释:通常都设置为2s,php的执行时间介于1到2秒之间;
三、php-fpm定义open_basedir:
做用:是限制php在指定的目录内活动;也为了安全;
由于服务器管理多个网站,在php.ini里定义多个open_basedir就不合适了,因此要么在apache的虚拟主机里定义,要么在php-fpm配置文件里定义,咱们能够针对不一样的池子去定义不一样的open_basedir;
1:针对www.conf(pool池子为www来设置):
[root@localhost_001 php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf [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 request_slowlog_timeout = 1 slowlog = /usr/local/php-fpm/var/log/www-slow.log php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
2:检测并重启php-fpm;
[root@localhost_001 php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t [06-Nov-2018 15:03:36] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@localhost_001 php-fpm.d]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
3:访问测试; curl -x127.0.0.1:80 www.test.com/2.php
[root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/2.php -I HTTP/1.1 200 OK Server: nginx/1.4.7 Date: Tue, 06 Nov 2018 07:04:47 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30
注释:若open_basedir路径定义错误,就会致使没法访问,造成404的状态码,curl命令会显示 “no input file specified”
[root@localhost_001 php-fpm.d]# vim www.conf [www] listen = /tmp/php-fcgi.sock ........ php_admin_value[open_basedir]=/data/wwwroot/default:/tmp/ [root@localhost_001 php-fpm.d]# service php-fpm restart #从新启动php-fpm服务; Gracefully shutting down php-fpm . done Starting php-fpm done [root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/2.php No input file specified. [root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/2.php -I HTTP/1.1 404 Not Found Server: nginx/1.4.7 Date: Tue, 06 Nov 2018 07:18:48 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30
4:定义错误日记; /usr/local/php-fpm/etc/php.ini
[root@localhost_001 etc]# vim php.ini ;搜索display_errors 并设置为 Off,不让错误日记输出到浏览器上,不安全; display_errors = Off ;error_log = syslog ;定义错误日记存放路径; error_log = /usr/local/php/var/log/php_error.log ;定义错误日记的级别; error_reporting = E_ALL ;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT error_reporting = E_ALL #定义错误日记级别;
注释:display_errors = Off 这个在线上是关闭的,不能让别人经过你的浏览器信息看看php的错误,而是要把错误记录到某个文件里;
检测并从新加载php-fpm的服务;
[root@localhost_001 etc]# /usr/local/php-fpm/sbin/php-fpm -t [06-Nov-2018 15:33:46] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful [root@localhost_001 etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done
5:手动建立php_error.log错误日记,并设置777,防止不能写入;
[root@localhost_001 etc]# touch /usr/local/php-fpm/var/log/php_error.log [root@localhost_001 etc]# chmod 777 !$ chmod 777 /usr/local/php-fpm/var/log/php_error.log [root@localhost_001 etc]# ls -ld !$ ls -ld /usr/local/php-fpm/var/log/php_error.log -rwxrwxrwx 1 root root 256 11月 6 15:35 /usr/local/php-fpm/var/log/php_error.log
6:而后测试;再次用 curl 命令来访问;
[root@localhost_001 etc]# curl -x127.0.0.1:80 www.test.com/2.php No input file specified. [root@localhost_001 etc]# curl -x127.0.0.1:80 www.test.com/2.php -I HTTP/1.1 404 Not Found Server: nginx/1.4.7 Date: Tue, 06 Nov 2018 07:36:41 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30
7:查看错误日记信息; /usr/local/php-fpm/var/log/php_error.log
[root@localhost_001 etc]# tail /usr/local/php-fpm/var/log/php_error.log [06-Nov-2018 07:33:46 UTC] PHP Deprecated: Comments starting with '#' are deprecated in Unknown on line 2 in Unknown on line 0 [06-Nov-2018 07:33:55 UTC] PHP Deprecated: Comments starting with '#' are deprecated in Unknown on line 2 in Unknown on line 0 [06-Nov-2018 07:36:35 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/wwwroot/test.com/2.php) is not within the allowed path(s): (/data/wwwroot/default:/tmp/) in Unknown on line 0 [06-Nov-2018 07:36:35 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0 [06-Nov-2018 07:36:39 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/wwwroot/test.com/2.php) is not within the allowed path(s): (/data/wwwroot/default:/tmp/) in Unknown on line 0 [06-Nov-2018 07:36:39 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0 [06-Nov-2018 07:36:41 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File(/data/wwwroot/test.com/2.php) is not within the allowed path(s): (/data/wwwroot/default:/tmp/) in Unknown on line 0 [06-Nov-2018 07:36:41 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
8:而后修改open_basedir到原先的test.com目录,而后再次访问;
[root@localhost_001 php-fpm.d]# cat www.conf [www] listen = /tmp/php-fcgi.sock ........ php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/ [root@localhost_001 php-fpm.d]# service php-fpm restart #从新启动php-fpm服务; Gracefully shutting down php-fpm . done Starting php-fpm done
9:而后再次用curl命令来访问; curl -x127.0.0.1:80 www.test.com/2.php -I
</div></body></html>[root@localhost_001 php-fpm.d]# curl -x127.0.0.1:80 www.test.com/2.php -I HTTP/1.1 200 OK Server: nginx/1.4.7 Date: Tue, 06 Nov 2018 07:39:19 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/5.6.30
四、php-fpm进程管理; 配置介绍;;;
[root@localhost_001 php-fpm.d]# cat www.conf [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 request_slowlog_timeout = 1 slowlog = /usr/local/php-fpm/var/log/www-slow.log php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
pm = dynamic 表示进程以什么形式启动( dynamic| static ),dynamic就是动态启动,动态就是一开始是一个数值,会根据需求来自动生成,服务器比较闲的时候还会去销毁,销毁到必定程度时还会去自动生成;
pm.max_children = 50 表示最大子进程数;(当设置成static后,则只有这一行会生效,下面的都不生效,会一次性生成50个子进程)
pm.start_servers = 20 启动服务时会启动的进程数; ps aux |grep php-fpm
pm.min_spare_servers = 5 定义空闲时段,子进程的最少数量,若是未达到,php-fpm会派生新的子进程;
pm.max_spare_servers = 35 定义空闲时段,子进程的最大值,若是高于这个值就开始清理空闲的子进程;
pm.max_requests = 500 每一个子进程最多处理的请求数,也就是一个php-fpm的子进程最多处理这么多请求,当达到这个数值后,它就自动退出;
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
注释:dynamic和static 表示以什么形式启动(动态或静态);
pm = dynamic 就是动态,动态就是一开始为一个数值,而后根据须要再自动生成,服务器比较闲的时候还会去销毁,销毁到必定程度还会自动建立,会根据下面的设置来设定生效;
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/
而若当设置为 pm = static 后,则只有 pm.max_children = 50 这一个选项是生效的,其余都未生效;
pm.max_children = 50
pm.max_requests = 500 rlimit_files = 1024 request_slowlog_timeout = 1 slowlog = /usr/local/php-fpm/var/log/www-slow.log php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/