如果你是一个网站服务器管理员或者web应用开发者、个人站长,你平时管理你的开发机或者网站服务器,上传网站代码或者各类应用文件,可能都是使用诸如cuteftp、xftp、winscp之类的工具软件这样做:
左边本地文件目录视图,右边远程服务器文件目录视图,然后各种拖拽操作。现在我来提供一种无论你本地电脑用的是windows还是mac本都不需要另行安装任何第三方工具软件就可以管理远程服务器文件目录的方式——把你要管理的远程服务器文件目录挂载成一个本地电脑硬盘。
一个demo用来说明一切
网络访问地址:https://cloud.httpsdav.club
登录用户名:liuzhongliang
密码: liuzongliang
我现在用https://cloud.httpsdav.club这个网络地址映射的是我一个vps网络服务器的/home/phpdav/mycloud的目录。
挂载成为本地windows电脑的步骤如下:
1、点击桌面“这台电脑”(win7下应为“计算机”)
2、点击计算机里的“映射网络驱动器”
3. 弹出窗口内文件夹输入框内填写映射的网络地址
4、点击完成,弹出窗口内输入用户名和密码
点击确定后,看到是不是我的电脑里多出了一块硬盘?
那服务器端如何配置的?
可以从github上获得我用php开发的代码
修改 /config.ini.php 文件
$cloud_root = null;
为你要映射的服务器目录地址,注意要给你的php-fpm的执行用户读写执行权限
例如你的php-fpm的执行用户为phpdav用户组phpdav, 你映射的目录地址为/home/phpdav/mycloud
建议你这样做:
chown -R phpdav:phpdav /home/phpdav/mycloudchmod -R 700 /home/phpdav/mycloud
nginx配置参考
server { listen 443 ssl; server_name cloud.httpsdav.club 167.179.111.224 2001:19f0:7001:12e9:5400:2ff:fe02:a361; ssl_certificate ssl/phpdav.crt; ssl_certificate_key ssl/phpdav.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; access_log /home/phpdav/phpdav/logs/nginx/access.log main; charset utf-8; sendfile on; tcp_nodelay on; client_max_body_size 0; client_body_in_file_only clean; client_body_in_single_buffer on; auth_basic "login test"; auth_basic_user_file passwd.txt; location / { root /home/phpdav/phpdav/interface; rewrite .* /index.php break; fastcgi_pass unix:/home/phpdav/phpdav/server/run/php-cgi.sock; fastcgi_keep_conn on; fastcgi_limit_rate 0; fastcgi_request_buffering on; fastcgi_cache_revalidate on; fastcgi_pass_request_headers on; fastcgi_force_ranges on; fastcgi_connect_timeout 600s; fastcgi_read_timeout 600s; include fastcgi.conf; }}
你需要注意的root配置项,指向的目录是项目代码里的interface目录,你从github上获取了我的项目代码,会很快找到这个目录
还有rewite配置项,无论访问url为何,统统重写指向interface目录里的index.php,我的入口文件。
另:我还写了一个我这个项目软件的非常自动install.sh安装脚本,打算在完善下在进行介绍。