本次环境部署系统环境CentOS 7.6 , jdk 1.8,mysql 8.0.17 ,nginx 1.16.1,solr 5.3.0(公司内部封装不对外提供),FastDFS 5.05,tomcat 9.0.24
安装好CentOS 7.6 系统。
官网下载jdk 1.8 下载地址
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8u211-later-5573849.html
下载 jdk-8u*-linux-x64. rpm包
通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的
通过ll 命令查看目录结构
通过 mkdir jdk 命令 在当前目录下创建一个名为 jdk 的目录,将下载的rpm 包,上传至 /usr/local/jdk/ 目录下,上传命令rz ,没有lrzsz, 安装命令 yum install lrzsz 。
安装jdk 命令 rpm -ivh jdk-8u192-linux-x64.rpm 或 yum install jdk-8u192-linux-x64.rpm
检验是否安装成功
命令 java -version
javac
出现如图说明安装成功。
官网下载地址 https://dev.mysql.com/downloads/mysql/
通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包
通过 rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps 命令
装卸 mariadb ;通过 rpm -qa | grep mariadb 命令再次查看 mariadb 的安装包
通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,
通过 mkdir mysql 命令 在当前目录下创建一个名为 mysql 的目录,
通过 cd mysql 命令进入 mysql 目录
通过 tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar 命令解压 tar 包
通过:rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm mysql-community-libs-8.0.17-1.el7.x86_64.rpm mysql-community-client-8.0.17-1.el7.x86_64.rpm mysql-community-server-8.0.17-1.el7.x86_64.rpm --nodeps --force
命令安装 common,libs,client,server。
通过 rpm -qa | grep mysql 命令查看 mysql 的安装包
通过以下命令,完成对 mysql 数据库的初始化和相关配置
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
通过 mysql -u root -p 回车键进入数据库登陆界面,输入密码,进行数据库登录,复制粘贴即可。
通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; 命令来修改密码
通过 exit; 命令退出 MySQL,可以通过新密码再次登录
通过以下命令,进行远程访问的授权
create user 'root'@'%' identified with mysql_native_password by '密码';
grant all privileges on *.* to 'root'@'%' with grant option;
刷新
flush privileges;
通过 ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。通过 flush privileges; 命令刷新修该后的权限。通过 exit; 命令退出 MySQL。
查看firewall服务状态
查询mysql端口是否开放 firewall-cmd --query-port=3306/tcp
开放mysql 3306端口 firewall-cmd --permanent --add-port=3306/tcp
重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload
查看防火墙规则 firewall-cmd --list-all
MySQL安装成功,Navicat 连接
修改my.cnf 配置文件
修改my.cnf 之前先备份my.cnf , 进入 cd /etc/目录下,复制my.cnf 文件,
复制命令 cp my.cnf my.cnf.bac
先停掉mysql服务再修改配置文件
命令 service mysqld stop
修改配置文件 vim /etc/my.cnf
为避免敲错,建议复制一下配置
# 设置mysql数据库的数据的存放目录
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# MySQL 错误日志存放目录
log-error=/var/log/mysqld.log
# pid 守护进程存放目录
pid-file=/var/run/mysqld/mysqld.pid
# sql_mode 策略
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 允许最大连接数
max_connections = 10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=1000
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# # 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# # 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
修改完毕后保存并退出
重启mysql服务 service mysqld start
创建数据库导入数据,在这里不做介绍。
下载FastDFS_v5.05.tar.gz 包,
官网下载地址:https://sourceforge.net/p/fastdfs/activity/?page=0&limit=100#56b30bd027184626660fd27e
下载libfastcommonV1.0.7.tar.gz 包
下载地址:https://sourceforge.net/projects/libfastcommon/
安装FastDFS需要先将官网下载的源码进行编译,编译依赖gcc环境,
如果没有gcc环境,需要安装gcc:yum install -y gcc-c++
FastDFS依赖libevent库,需要安装:yum -y install libevent
将libfastcommonV1.0.7.tar.gz拷贝至/usr/local/下 cd /usr/local
通过 tar -zxvf libfastcommonV1.0.7.tar.gz 命令解压tar包
cd libfastcommon-1.0.7
./make.sh
./make.sh install
注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,
由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
拷贝命令 cp /usr/lib64/libfastcommon.so /usr/lib
将FastDFS_v5.05.tar.gz拷贝至/usr/local/下
通过 tar -zxvf FastDFS_v5.05.tar.gz 命令解压tar包
通过cd FastDFS 进入到解压后FastDFS目录,
执行 ./make.sh
./make.sh install
拷贝FastDFS/conf下面所有配置文件到 /etc/fdfs/
拷贝命令: cp * /etc/fdfs/
修改 tracker.conf配置文件
vim tracker.conf 没有安装vim 可以通过yum -y install vim 安装vim,或使用vi tracker.conf 亦可。
进入文件后按 i 进入编辑模式。
修改base_path存储基本路径
将:base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
修改存在组
将:store_group=group2 改为:store_group=group1
配置http端口:
将:http.server_port=8080 改为:http.server_port=80
保存并退出。
按Esc退出编辑模式,:x 为保存并退出,:wq! 为强制保存并退出,:q! 为退出不保存。
在home目录下创建fastdfs 创建命令:mkdir fastdfs
测试启动tracker
运行命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
通过 cat /home/fastdfs/logs/trackerd.log 命令查看日志 查看tracker 是否正常启动。也可通过ps aux | grep fdfs 命令查看tracker 进程。
配置storage.conf
配置组名
group_name=group1 //必须和tracker的组名相同。
配置基本存储路径base_path base_path=/home/fastdfs
配置文件存储路径
store_path0=/home/fastdfs/storage //storage需要手动创建
#store_path1=/home/yuqing/fastdfs2
如果有多个存储路径,就可以依次往下顺延。
修改连接tracker服务器地址
将:tracker_server=192.168.209.121:22122 改为:tracker_server=(IP):22122
保存并退出
创建文件存储路径storage
/home/fastdfs此目录下面创建 mkdir storage
启动storage测试
启动命令:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
通过 cat /home/fastdfs/logs/storaged.log 命令查看storaged 启动日志
通过ps aux | grep fdfs 命令查看tracker 进程。
测试图片上传
Tracker和storage都已经安装完成,使用命令测试文件上传:
FastDFS提供一个文件上传命令:usr/bin/fdfs_test 测试文件上传
测试上传需要连接tracker服务器,连接storage服务器。
因此需要指定一个配置文件:client.conf配置文件,通过Client.conf连接tracker服务器。
第一步:修改Client.conf vim /etc/fdfs/client.conf
将:base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs
修改 tracker_server
将:tracker_server=192.168.0.197:22122 改为:tracker_server=(IP):22122
测试命令:/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件
在FastDFS解压目录FastDFS/conf/下有一张自带的图片anti-steal.jpg。上传这张图片测试。
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/local/FastDFS/conf/anti-steal.jpg
example file url: http://*.*.*.*/group1/M00/00/00/wKhkhF2Ckc2AaSM7AABdrZgsqUU359_big.jpg
就是文件的下载路径。
对应storage服务器上的/home/fastdfs/storage_path/data/M00/00/00/wKhkhF2Ckc2AaSM7AABdrZgsqUU359.jpg
由于现在还没有和nginx整合无法使用http下载。无法访问。
导入FastDFS-nginx-module到 /usr/local/
解压fastdfs-nginx-module_v1.16.tar.gz
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src 修改config文件 vim config
将第四行 /usr/local/include/ 改为:/usr/include/
拷贝mod_fastdfs.conf到etc/fdfs cp mod_fastdfs.conf /etc/fdfs/
修改mod_fastdfs.conf vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs/ 与存储日志路径相同
将:tracker_server=tracker:22122 改为:tracker_server=(IP):22122
将:url_have_group_name=false 改为:url_have_group_name=true //允许使用组名
将:store_path0=/home/yuqing/fastdfs 改为:store_path0=/home/fastdfs/storage
此处必须是存储路径
group_name=group1 //和前面配置组名保持一致
保存并退出
拷贝usr/lib64/libfdfsclient.so 库文件 到 /usr/lib目录下。cp /usr/lib64/libfdfsclient.so /usr/lib/
Nginx 官网下载地址:http://nginx.org/en/download.html
安装Nginx所需的pcre库 yum -y install pcre-devel
yum install -y zlib-devel
将下载的nginx 包上传到 /usr/local/ 下解压 tar -zvxf nginx-1.16.1.tar.gz
cd nginx-1.16.1(进入解压目录中,执行下面的脚本)
./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 \
--with-http_stub_status_module \
--with-http_ssl_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=/usr/local/fastdfs-nginx-module/src
需要从新编译安装:make & make install
修改nginx配置文件nginx.conf配置文件: vim /usr/local/nginx/conf/nginx.conf
添加 http 里面server外面添加 server_tokens off ; 避免错误访问时暴露NGINX版本号。
保存并退出
创建目录 mkdir /usr/local/nginx/logs
说明:
server_name指定本机ip
location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS自动生成编号,
对应store_path0=/home/fastdfs/storage //M00 #####,如果FastDFS定义store_path1,这里就是M01#####
防火墙开放端口 80,8080,22122,23000.
重启防火墙并查看防火墙规则
/usr/local/nginx/sbin/nginx // 启动Nginx
启动报错 nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
解决办法 :sudo mkdir -p /var/temp/nginx
重新启动
此时可以访问到图片
把solr-5.3.0.zip上传到/opt目录下
解压 unzip solr-5.3.0.zip ,如果没有安装unzip 安装命令 yum install unzip
进入/opt/solr-5.3.0/bin目录下,如果solr不是可执行文件,给solr文件添加可执行权限chmod +x solr,
开放solr端口 8983,
firewall-cmd --permanent --add-port=8983/tcp
重启防火墙 firewall-cmd --reload
输入命令: ./solr start 启动solr服务
如上图信息时说明solr已经启动成功了。
图中红框中提示没有安装lsof(list opened files),不安装不影响solr使用,也可以通过 yum install lsof 安装lsof
安装lsof后,进入/opt/solr-5.3.0/bin/ 目录
通过./solr stop 关闭solr
重启solr 出现如下界面,solr启动成功
注意:solr请勿自行到Apache官网下载安装,请使用与该说明配套的solr文件。如遇文件权限不够,可以改变整个文件权限或者用管理员身份来操作。
推荐使用Tomcat 9.0.24。
官网下载链接:http://tomcat.apache.org/download-70.cgi
Tomcat的编码要设置为utf-8:首先找到tomcat的安装路径下的conf文件夹下的server.xml文件。找到如下一段代码(大概在69-71行,命令: :set number 可显示行号)
在末尾加上URIEncoding="utf-8" relaxedPathChars="\|{}[]," relaxedQueryChars="\|{}[]," 即可,将端口号改为8686,并开放8686端口,加上后如下图所示:
在148行的
在 catalina.properties 最末尾加上 以下两句tomcat.util.http.parser.HttpParser.requestTargetAllow=\|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
vim catalina.properties
进入文件按 shift + g 可快速切换到文件末尾。
设置fastdfs 、nginx 、solr 、Tomcat 开机自启动。
vim /etc/rc.d/rc.local
赋予文件可执行权限 chmod +x /etc/rc.d/rc.local
需要注意这些命令的路径。
开机启动设置完毕。