springboot+ netty整合开发仿照微信客户段(fastdfs整合nginx)一步到位 ,中间没有任何报错

这是这位大佬给排的坑,感谢啊,第一次安装环境这么顺利,哭了,之前曾经尝试过安装fastdfs ,
但是安装中遇到过的问题,太难了,我放弃了,这次直接在云服务器上干,竟然一步到位
https://www.jianshu.com/p/282f6c02d87

服务器环境搭建
1.安装fastDFS
如果没有GCC,先安装GCC
1.检查依赖包

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

除了Mariadb,所需要的我都集合在一个文件里了(64位,均可用),也可以直接通过这个下载,然后用winscp之类的工具上传

链接:https://pan.baidu.com/s/1vCsJvudQqh03cFzoFNQIDA 提取码:dgpt

注:为了方便管理,创建一个文件夹专门放所需软件

mkdir developer
cd developer

1.2 下载安装包(fastdfs源码包、libfastcommon源码包)

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
在/usr/lib64 下查找 libfast* 发现存在文件了,所以安装成功

image.png
从lib64位环境拷贝到32

image.png
安装fdfs
下载

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

解压

tar -zxvf V5.05.tar.gz

编译

cd fastdfs-5.05
./make.sh

安装

./make.sh install

然后在/usr/lib 和 /etc/fdfs/下都能看到其相关配置

image.png
将刚解压的fdfs里面的conf文件,全部复制到/etc/fdfs/下面
image.png
然后进入etc下的/fdfs修改tracker.conf (不是.sample)
将base_path 改成如图 (用于记录日志)

image.png
切换到根目录,然后递归创建刚才base_path的文件夹

image.png
进入目录后,再把需要的两个文件夹也创建

image.png
现在要启动tracker,先回到 /usr/bin/通过命令启动

image.png

通过

fdfs_trackerd /etc/fdfs/tracker.conf

启动, 后面跟的是tracker配置文件的路径,在这个命令后面restart是重启

启动storage
先回到刚才创建记录日志和数据的文件夹目录,复制文件路径
image.png
/fastdfs/storage

然后再切到配置文件目录,同样修改文件路径

image.png
若用/查找不到base_path,则先用i进入手动查找

image.png
image.png

需要注意的是group_name=是设置组名, 图片存在的路径前缀
修改实际图片存放的路径:

image.png
修改tracker_server地址(用内网ip,如果用公网IP需要开放额外端口)

image.png
现在进入/usr/bin/目录通过命令测试下(直接用命令,不进也可以)

image.png
现在查看下tracker和storage是否配置并启动成功

image.png
ok,最后再来配置client

配置client
client的配置和前面两个顺序和流程都一样,不过base_path均统一配置成内网地址

现在来测试上传一张图片,因为没有配置对外上传接口,所以通过winscp上传一张图片到/root目录后,再通过client的命令测试上传,

image.png
然后将返回的值复制,访问(去掉内网ip)

也可以先用这个命令测试
image.png
注意!用这个命令测试后,直接复制返回的值,加上ip
image.png
上传图片成功,但访问为404
参考 :https://blog.csdn.net/qq_37495786/article/details/84330699

如图返回一个连接即说明成功!

image.png
然后进入存储文件的storage data里查看

image.png

因为第一个上传的文件,所以会被索引分配到00/00 发现文件存在,所以client配置成功,

现在还需要安装ngxin才能完整使用fdfs

常用命令:修改配置后需要重启

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
cd /usr/local/nginx/sbin/
./nginx -s reload
在安装nginx和fastDFS整合之前,可以前先看遇到的坑我自己遇到的各种问题,花了近乎两天时间才解决.因为这块坑实在太多了…
2.安装nginx
本次用的1.12版本

服务器用的是腾讯云,需要注意的是配置安全组和开放端口
如果安装完后发现无法访问页面,可能是防火墙问题,需要添加对应的防火墙规则,或者直接关闭防火墙.

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
不要用这个链接 https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip 该链接在centos7上有问题.这个问题耽误了我一天的时间
用这个,下载后需要重命名下

这里为啥这么长一串呢,因为最新版的master与当前nginx有些版本问题
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip

感谢这个 大哥 求我狗命
找了一天最后通过这个才解决问题

整合安装可参考这个https://www.cnblogs.com/chiangchou/p/fastdfs.html
或这个https://www.codetd.com/article/130835

注意,解压zip的命令是unzip
先配置好fastdfs-nginx
解压后,进入src目录下,vim conf文件,将local都删掉

检查和安装依赖(如果之前第一步没安装的话)

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

解压,安装ngxin,然后将自定义配置的最后一个改成如图的路径(fastdfs-nginx的src路径)

image.png
将后面的覆盖既:

./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
-add-module=/home/package/fastdfs-nginx-module-master/src

请不要给自己找麻烦,用默认配置+手动添加模块即可!
请不要给自己找麻烦,用默认配置+手动添加模块即可!
请不要给自己找麻烦,用默认配置+手动添加模块即可!
解释:

之所以这个坑花了我一天时间,是因为一开始错的我莫名其妙,报的是错完全就是因为自定义配置nginx造成的,因为自定义配置nginx发现居然是可以成功配置的!!!,但是运行的时候会报错,报错的,报这个错
nginx: [emerg] unknown directive “ngx_fastdfs_module” in /usr/local/nginx/conf/nginx.conf:40

然后我就根据这个错误,去找了好多解决方法,一直都没找到.这也是我走了弯路,方向不对了,所以花再多时间也是不可能找到解决方法的

后来自己重新自动用默认编译ngxin,发现居然报错了,报的错是和这个大哥 一样的,好了,有人了前人的栽树,最终终于解决了.

将=号后面的链接换成改名后解压的fastdfs-nginx-module的src既可.然后到nginx解压的目录下去配置和编译

添加模块
./configure --add-module=…/fastdfs-nginx-module-test/src

进入nginx解压后目录,将上边的配置代码粘贴进去回车配置

image.png

image.png
配置完成后,

make

编译,稍等

image.png
然后安装:

make install

image.png
最后检查下安装成功

image.png
将fastdfs-nginx的桥梁文件配置拷贝到之前的/etc/fdfs里 与tracker和storage,client放在一起

image.png
进入/etc/fdfs目录下

vim mod_fastdfs.conf

修改成如下路径

image.png
然后分别修改如图对应的位置,其中tracker_server依然是内网ip

image.png

而组名要与之前的对应,以及是否使用组名改为true(默认false)

最后也别忘了修改保存路径:

image.png
退出保存后,到根目录下的fastdfs创建tmp文件夹

image.png
接下来就是配置nignx的了,找到usr/local下的nginx的目录,然后打开配置文件,修改

image.png
在配置文件中添加红色标记块,其中server_name 用的是公网ip,然后需要还安全组里打开88端口,是M00,不是MOO
image.png
整合tomca(server 用的内网地址)

image.png
在第二个location里把root index.html删除 配上proxy_pass既可

如果无法访问,请关闭防火墙

3.安装MariaDB-10.2
根据官方的提示:

先安装第一个依赖

https://mariadb.com/kb/en/library/mariadb-installation-version-10121-via-rpms-on-centos-7/

1.yum install rsync nmap lsof perl-DBI nc

然后按提示配置:

https://mariadb.com/kb/en/library/yum/

image.png
官方图中配置是国外镜像,所以你懂的,需要换成国内源
参考这篇文档

https://blog.csdn.net/junehappylove/article/details/78690743

然后再配置安装即可

vim /etc/yum.repos.d/MariaDB.repo

[root@hadoop yum.repos.d]# cat MariaDB.repo

MariaDB 10.2 CentOS repository list - created 2017-12-01 11:36 UTC

http://downloads.mariadb.org/mariadb/repositories/

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
sudo yum install MariaDB-server MariaDB-client

直接命令安装即可,系统原来自动带的5.5会被替代!!!

安装基础依赖

yum install boost-devel.x86_64

导入key,后面的地址是从刚配置的MariaDB.repo里的gpgkey里拿的

rpm --import https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB

最后启动下看是否成功:

image.png
ok了

如果没有能成功运行,则加上这一步
rpm -ivh galera-25.3.23-1.rhe16.e16.x86_64.rpm
大版本相同即可,需要自己去下这个

然后对数据库进行一些基本的安全设置

mysql_secure_installation

image.png

第一次会输入密码,因为之前没有设置密码,所以直接回车即可
之后又会一些杂七杂八的询问,直接y既可

image.png
之后登录数据库,成功后再通过Navicat远程连接

image.png
先去安全组开发3306端口

image.png
然后再去服务器数据库里改下权限

image.png
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘数据库密码’ WITH GRANT OPTION;

刷新更改

flush privileges;

再来测试下:
image.png

注意,Navicat链接数据库的密码是数据库的密码,而不是服务器的密码
4.安装tomcat
1.解压

image.png
2.移动到usr的local目录下,(一般除了jdk,都不用创建文件夹)

image.png
为了看起来更和谐一点,对文件夹重新命名下,采用mv命令:

image.png
进入文件后,进入bin目录运行tomcat

image.png
然后测试下是否启动成功,打开公网ip,默认端口8080
发现没有能打开,所以应该是安全组和防火墙的问题了,先修改安全组,可直接添加一个组或者直接添加8080端口,

image.png
再测试下

image.png
---->ok成功了

5.安装jdk8和配置环境变量
解压

image.png
tar -zxvf jdk-8u211-linux-x64.tar.gz
解压成功:

image.png
在usr建立一个java文件夹后移动文件夹

mkdir /usr/java
image.png
进入 /usr/java/jdk1.8.0_211 拷贝路径
打开文件

vim /etc/profile
移到最末端,添加如下配置

image.png
添加完成后一定要用source命令使文件生效
image.png
通过java命令能看到版本号说明安装和配置都成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章