1、先安装Nginx
centos7安装Nginx可以通过yum直接安装,也可以通过docker安装
通过docker安装可以参考一下链接
docker安装Nginx
我们这里就尝试使用yum安装Nginx
1) 安装Nginx源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2) 安装Nginx
yum install -y nginx
3)查找Nginx在哪里
whereis nginx
4)启动Nginx
cd /usr/sbin
./nginx
我们直接在浏览器里面输入服务器地址查看即可(默认端口是80),如果看到这个界面说明Nginx安装成功
5)先直接查看
2、配置Nginx
1)进入到配置文件
cd /etc/nginx
vim nginx.conf
2) 修改配置文件
server {
listen 8059;
server_name localhost;
location ~ .*\.(png|gif|jpg|jpeg|JPG|GIF|PNG|JPEG|jepg|JEPG|rm|rmvb|mkv|MKV|mp4|MP4|mov|mtv|dat|wmv|avi|3gp|amv|dmv|flv|MP3|mp3|WMA|wma|WAV|wav)$ {
root /home/files/images;
}
3)启动Nginx
(1)先到Nginx的sbin目录下
cd /etc/nginx
(2)测试配置文件是否正确
./nginx -t
(3)重启Nginx
./nginx -s reload
3、挂载tomcat容器(Tomcat容器和Nginx在同一台服务器)
1)在本地新建文件夹
mkdir -p /home/files/images
2)挂载本地文件方式运行tomcat容器(使用docker运行tomcat容器)
docker run --name test --privileged=true -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /home/files/images:/usr/local/tomcat/download/images -d -p 8755:8080 docker.io/tomcat
将本地文件 /home/files/images
挂载到tomcat容器的/usr/local/tomcat/download/images
上
3)使用java代码上传文件到/usr/local/tomcat/download/images
上
#上传代码
public String uploadAndroidFile(MultipartFile fileUpload) {
//获取文件名
String fileName = fileUpload.getOriginalFilename();
//获取文件后缀名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//指定本地文件夹存储图片
String filePath = AppContextHelper.getDownloadRootPath(projectFinalName)+"download/images/;
try {
File downloadFile = new File(filePath + suffixName);
if(!downloadFile.getParentFile().exists()){
downloadFile.getParentFile().mkdirs();
}
fileUpload.transferTo(downloadFile);
#nginxPath为Nginx挂载路径,这里的路径为:"http://ip:8059/"
return nginxPath+time+ suffixName;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 因为tomcat容器下面的路径/usr/local/tomcat/webapps下的,而我们挂载的路径是在tomcat容器的
* /usr/local/tomcat/downlod/images下面的,所以我们要找到这个路径
* projectName项目的名称
*/
public static String getDownloadRootPath(String projectName) {
String path = "";
if (SystemUtil.isTomcat()) {//Linux
path = ClassUtils.getDefaultClassLoader().getResource("").getPath();
path = path.replaceAll("webapps/"+ projectName+"/", "");
} else {//本地启动
path = "E://images/"
}
return path;
}
4)上传图片
5)查看图片
http://ip:8059/test.jpg
4、Tomcat容器和Nginx不在同一台服务器可以使用ftp上传文件,然后通过Nginx访问静态文件
过程以后在补充