服务器环境搭建
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* 发现存在文件了,所以安装成功

从lib64位环境拷贝到32

安装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/下都能看到其相关配置

将刚解压的fdfs里面的conf文件,全部复制到/etc/fdfs/下面

然后进入etc下的/fdfs修改tracker.conf (不是.sample)
将base_path 改成如图 (用于记录日志)

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

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

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

通过
fdfs_trackerd /etc/fdfs/tracker.conf
启动, 后面跟的是tracker配置文件的路径,在这个命令后面restart是重启
启动storage
先回到刚才创建记录日志和数据的文件夹目录,复制文件路径

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

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


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

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

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

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

ok,最后再来配置client
配置client
client的配置和前面两个顺序和流程都一样,不过base_path均统一配置成内网地址
现在来测试上传一张图片,因为没有配置对外上传接口,所以通过winscp上传一张图片到/root目录后,再通过client的命令测试上传,

然后将返回的值复制,访问(去掉内网ip)
也可以先用这个命令测试

注意!用这个命令测试后,直接复制返回的值,加上ip

上传图片成功,但访问为404
参考 :https://blog.csdn.net/qq_37495786/article/details/84330699
如图返回一个连接即说明成功!

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

因为第一个上传的文件,所以会被索引分配到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路径)

将后面的覆盖既:
>./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解压后目录,将上边的配置代码粘贴进去回车配置


配置完成后,
make
编译,稍等

然后安装:
make install

最后检查下安装成功

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

进入/etc/fdfs目录下
vim mod_fastdfs.conf
修改成如下路径

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

而组名要与之前的对应,以及是否使用组名改为true(默认false)
最后也别忘了修改保存路径:

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

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

在配置文件中添加红色标记块,其中server_name 用的是公网ip,然后需要还安全组里打开88端口,是M00,不是MOO

整合tomca(server 用的内网地址)

在第二个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://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
最后启动下看是否成功:

ok了
如果没有能成功运行,则加上这一步
rpm -ivh galera-25.3.23-1.rhe16.e16.x86_64.rpm
大版本相同即可,需要自己去下这个
然后对数据库进行一些基本的安全设置
mysql_secure_installation

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

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

先去安全组开发3306端口

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

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
刷新更改
flush privileges;
再来测试下:

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

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

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

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

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

再测试下

---->ok成功了
5.安装jdk8和配置环境变量
-
解压
image.png
tar -zxvf jdk-8u211-linux-x64.tar.gz
解压成功:

在usr建立一个java文件夹后移动文件夹
mkdir /usr/java

进入 /usr/java/jdk1.8.0_211 拷贝路径
打开文件
vim /etc/profile
移到最末端,添加如下配置

添加完成后一定要用source命令使文件生效

通过java命令能看到版本号说明安装和配置都成功了
安卓版体验版:
//由于不让放二维码,因此删除了
网友评论