Linux环境下nginx搭建简易图片服务器
主要使用Nginx和vsftpd.
安装方面可以直接从nginx官网上下载,或者...
yuminstallnginx
如果没有yum源则需要自行添加再进行install.
yuminstallwget wgethttp://www.atomicorp.com/installers/atomic sh./atomic yumcheckupdate
如果是从官网上下载的则进行如下操作:
[root@adminlocal]#cd/usr/local [root@adminlocal]#tar-zxv-fnginx-1.6.2.tar.gz [root@adminlocal]#rm-rfnginx-1.6.2.tar.gz [root@adminlocal]#mvnginx-1.6.2nginx [root@adminlocal]#cd/usr/local/nginx [root@adminnginx]#./configure--prefix=/usr/local/nginx [root@adminnginx]#make [root@adminnginx]#makeinstall
安装vsftpd:
yuminstallvsftpd
对nginx没有做太复杂的配置,仅仅是创建了一个虚拟目录并打开了目录浏览功能.
我想访问http://localhost/apps时实际访问的路径是/home/appmanager/
首先我需要在nginx/html下创建一个apps文件夹,尽管实际访问的不是这个路径。
mkdir/usr/local/nginx/html/apps
然后修改nginx/conf/nginx.conf在默认的server里再添加一个location并指定实际路径:
location/apps/{ root/home/appmanager/; #alias; autoindexon; #autoindex_exact_sizeoff; #autoindex_localtimeon; }
autoindexon便是打开浏览功能。
root则是将apps映射到/home/appmanager/apps/
当然,alias也可以实现我想要的效果,只是用法上和root稍有差异。
接着需要创建用户,就是上面配置文件中的appmanager。
useradd-d/home/appmanager-Mappmanager
接着指定目录并加入权限
chownappmanager/home/appmanager chmod777-R/home/appmanager
不知是什么原因,我第一次创建的用户的目录总是不生效,虽然多次进行usermod-d也毫无效果....
无论如何现在可以通过Jschapi访问了。
publicstaticvoidmain(String[]args)throwsJSchException{ Sessionsession=null; ChannelSftpchannelSftp=null; try{ JSch.setLogger(newJSCHLogger()); JSchjsch=newJSch(); session=jsch.getSession("appmanager","101.x.x.x","22"); session.setPassword("password");
Propertiesconfig=newProperties(); config.put("StrictHostKeyChecking","no"); session.setConfig(config); session.connect();
channelSftp=(ChannelSftp)session.openChannel("sftp"); channelSftp.connect();
}catch(JSchException|SftpException|IOExceptione){ logger.error(e.getMessage(),e); }finally{ if(channelSftp!=null){ channelSftp.disconnect(); } if(session!=null) session.disconnect(); } }