最简单的nginx+ftp搭建图片服务器(Windows Server服务器环境下和本机都可以用)
程序员文章站
2023-12-27 09:22:21
...
@[TOC](最简单的nginx+ftp搭建图片服务器(Windows Server服务器环境下和本机都可以用)))
前言
几种文件服务器的对比
- 直接使用ftp服务器,访问图片路径为 ftp://账户:密码@192.168.0.106/31275-105.jpg不采用这种方式,不安全容易暴露ftp账户信息
- 直接使用IIS或Tomcat等服务器在项目中访问,图片少的情况可以考虑。商城网站则不行,图片访问处理需搭建图片服务器
- ftp+nginx服务器,ftp负责上传图片,nginx负责图片的访问
- ftp上传也有和多种,我们的win自带的也有但是作为新手我不建议用,需要自己配置的东西过多,配置的时候要多看几篇文章。
- server-u也是FTP上传的一中服务器,他比Wing FTP Serve功能更加强大,但是对于初学者来说不建议使用,应为这些功能用不着。
- 今天用的是Wing FTP Server这个服务器,相比于其他服务器是性价比高的。
- 如果你是大型项目文件上传下载多的话我还是建议你用阿里的oss或者是七牛云的,把专业的事情交给专业的团队。
ftp服务器搭建
链接:https://pan.baidu.com/s/182Qv_q_c1qdsIsQCwPjwPQ
提取码:9v7r
server-u想玩的可以试试,此文章谈论这个,但是下载和设置都一样
链接:https://pan.baidu.com/s/1EFuKNyFl3rhjY-UhAi6tPg
提取码:68af
这个链接是Wing FTP Server安装包,网上好多Wing FTP Server下载都强制性给你安装好多东西,建议下载这个。
建议默认
此时如果你给了这个用户写的权限,你就可以拉文件到这里面了
注意
- 浏览器上也能打开,但是图形界面不太好看
- 有很多博主说,浏览器不让被动打开ftp,导致无权访问,反正我没有遇到
- 云服务器上的你,一定要给他一个端口号为21的安全组
- 本地如果不行关一下防火墙试试。
- 如果还不行,恕在下无能为力。
nginx安装配置
nginx下载地址 http://nginx.org/en/download.html
配置端口号和访问路径
location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
root D:/images;
}
启动nginx
一定要看着一行文字贼傻逼:点击启动后,启动的黑窗口直接一闪而过,注意它启动成功了,不是报错,先不要管它
1,回到nginx文件夹根目录,按住shift键点击鼠标右键,选择右键菜单中的在此处打开命令窗口,输入start nginx 命令
2,
查看是否成功
本地要用localhost用127.0.0.1打不开
云服务器用的是公ip
nginx+ftp整合注意
ftp用户指定访问的地址要和nginx的访问路径一样
java代码图片的上传
//上传
public static boolean testUpload(String ip, int port, String uName,
String uPwd, String fileName, String localPath, String remotePath) {
boolean result = true;
FileInputStream in = null;
FTPClient ftpClient = getFTPClient(ip, port, uName, uPwd);
if (null == ftpClient) {
System.out.println("获得FTP客户端失败!");
return false;
}
try {
File file = new File(localPath + fileName);
in = new FileInputStream(file);
ftpClient.changeWorkingDirectory(remotePath);
ftpClient.storeFile(fileName, in);
return result;
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
close(in, null, ftpClient);
}
}
public static void main(String[] args) {
FTPutils.testUpload("127.0.0.1", 21, "1", "1", "/123.jpg", "D:\\File", "/upfile");
/*1:ip地址 本地就用127.0.0.1云服务器公ip
2:ftp端口号
3:用户登录账号
4:密码
5:要上传的文件名
6:要上传文件的地址
7:填这个
之后会上传到这个用户指定访问的路径里面*/
}