部署SpringBoot项目(jar+nginx+fastdfs)
1、依赖/使用的程序软件
mysql
:数据存储服务器nginx
:反向代理,用于访问图片fastDFS
:分布式上传下载图片docker
:提供容器服务
2、操作
(1)MySQL
- 使用
docker
安装MySQL
,服务器无需安装MySQL
-
搜索
mysql
容器docker search mysql
-
拉取
mysql
docker pull mysql
-
查看
mysql
镜像docker images
mysql
镜像已经下载好
- 启动
mysql
服务
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:latest
--name
:指定一个容器的名字,后续可以用这个名字进行一些操作-p
:将容器的3306端口映射到docker
宿主机的3306端口-e
:设置参数的值,这里MYSQL_ROOT_PASSWORD
是设置MySQL
的root
用户的密码-d
:指定启动哪个镜像
# 查看mysql是否启动成功
docker ps
已经启动成功
-
连接
mysql
docker exec -it mysql bash
使用上述命令进入容器中,连接mysql
mysql -u root -p xxx
mysql连接成功,说明mysql已经配置好了。想要操作mysql就需要进入到docker
已经开启的mysql
容器中进行操作
- 关闭/重启
mysql
docker stop mysql # 关闭mysql
docker start mysql # 开启mysql
docker restart mysql # 重启mysql
docker ps # 查看正在运行的容器
docker ps -a # 包括未运行的容器
(2)fastDFS和nginx
nginx和fastDFS需要一起使用
-
所有安装包
-
libfastcommonV1.0.7.tar.gz:fastDFS依赖程序
-
FastDFS_v5.05.tar.gz:fastDFS安装包
-
fastdfs-nginx-module_v1.16.tar.gz:nginx和fastdfs的桥梁插件模块
-
nginx-1.8.1.tar.gz:nginx安装包
-
-
安装过程
-
安装编译环境
apt install gcc g++
-
安装
libfastcommon
cd /usr/local/package # /usr/local/package存放安装包 tar -xzf libfastcommonV1.0.7.tar.gz cd libfastcommon-1.0.7 ./make.sh ./make.sh install cp /usr/lib64/libfastcommon.so /usr/lib
-
创建
fastDFS
数据存储的目录mkdir -p /usr/local/apps/fastDFS/tracker # fastDFS跟踪器数据目录 mkdir -p /usr/local/apps/fastDFS/storage # fastDFS存储节点数据目录 mkdir -p /usr/local/apps/fastDFS/client
-
安装
fastDFS
cd /usr/local/package tar -zxf FastDFS_v5.05.tar.gz cd FastDFS ./make.sh ./make.sh install cd conf cp * /etc/fdfs
-
配置
fastDFS
的tracker
节点vim /etc/fdfs/tracker.conf base_path=/usr/local/apps/fastDFS/tracker/ # 设置此变量,就是刚才创建的目录
-
启动
tracker
节点/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
此时可以看到
tracker
跟踪器节点已经启动: -
配置
storage
节点vim /etc/fdfs/storage.conf base_path=/usr/local/apps/fastDFS/storage/ store_path0=/usr/local/apps/fastDFS/storage/ tracker_server=172.16.49.5:22122 # 服务器需要改为公网ip
-
启动
storage
节点/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
此时可以看到
storage
存储节点已经启动
-
测试
fastDFS
-
从编译完的
FastDFS
目录(/usr/local/package/FastDFS/
)复制libfastclient.so
到/usr/lib
目录cd /usr/local/package/FastDFS cp libfastclient.so /usr/lib
-
修改测试的配置文件
vim /etc/fdfs/client.conf base_path=/usr/local/apps/fastDFS/client tracker_server=172.16.49.5:22122 # 和上诉设置得一样
-
开始测试上传
echo hello > test.txt # 新建一个测试文件 /usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt #上传文件
可以看到文件已经上传成功了:
进入到M00/00/00/rBAxBV-hInOARQxgAAAABncc3SA130_big.txt
目录中去看一下文件是否存在,数据目录就是前面设置的/usr/local/apps/fastDFS/storage
文件存在。
-
-
安装
nginx
需要的依赖包sudo apt-get install openssl libssl-dev # openssl sudo apt-get install libpcre3 libpcre3-dev # pcre sudo apt-get install zlib1g-dev # zlib
-
解压
fastdfs-nginx-module_v1.16.tar.gz
cd /usr/local/package tar -zxf fastdfs-nginx-module_v1.16.tar.gz
-
修改
fastdfs-nginx-module
的配置文件cd fastdfs-nginx-module/src/ vim config
修改图中的两个变量。
-
复制
fastdfs-nginx-module/src/mod_fastdfs.conf
到/etc/fdfs
目录下,并编辑vim /etc/fdfs/mod_fastdfs.conf tracker_server=172.16.49.5:22122
-