centos系统搭建开发环境与服务
前言
centos系统需保证能够上外网
1.安装java-1.8.0版本
yum install java-1.8.0-openjdk*
这一条命令即可成功安装java-1.8.0,输入java -version即可查看java版本
2. mysql57安装并支持远程连接
操作步骤 |
命令(黄色部分根据实际环境更改) |
(1)安装wget |
yum -y install wget |
(2)下载MySQL57数据库安装程序 |
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm |
(3)安装数据库 |
yum -y install mysql57-community-release-el7-10.noarch.rpm |
(4)安装数据库服务 |
yum -y install mysql-community-server |
(5)启动数据库 |
systemctl start mysqld.service |
(6)查看数据库初始密码 |
grep “temporary password” /var/log/mysqld.log,这里的数据库原始密码为:*(bywl-2hDlP |
(7)用初始密码登录数据库 |
mysql -uroot -p |
(8)重新设置数据库密码 |
alter user root@localhost identified by ‘password’; |
如果设置的密码太过简单 |
需要更改密码规则 |
(9)更改密码规则 |
set global validate_password_policy=0; |
(10)更改密码长度限制 |
set global validate_password_length=6;更改成功! |
(11)更改完成后,再执行第8步即可 |
alter user root@localhost identified by ‘password’; |
(12)设置数据库远程连接 |
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION; |
(13)关闭防火墙 |
systemctl stop firewalld.service |
(14)永久关闭防火墙 |
systemctl disable firewalld.service |
(15)即可用远程软件连接 |
远程软件navicat ,安装完成打开即可测试连接 |
3.安装redis-4.0.8
(1)以下命令再/usr/local/目录中运行,也可根据自己的实际情况下载安装到不同的目录中
步骤说明 |
命令 |
进入/usr/local中 |
cd /usr/local |
下载redis-4.0.8文件 |
wget https://download.redis.io/releases/redis-4.0.8.tar.gz |
解压redis-4.0.8 |
tar -zvxf redis-4.0.8.tar.gz |
进入redis解压目录 |
cd redis-4.0.8/ |
编译安装 |
make |
后台启动redis |
/usr/local/redis-4.0.8/src/redis-server & |
如上图启动成功
(2)redis远程连接
vi编辑中使用 /查找的文件名 来查找对应位置,按 n显示下一个
原文档 |
更改后 |
bind 127.0.0.1 |
#bind 127.0.0.1或bind 0.0.0.0 |
protected-mode yes |
protected-mode no |
#requirepass foobared |
requirepass 远程连接密码 |
切换路径 |
cd /usr/local/redis-4.0.8/src |
关闭redis |
./redis-cli shutdown |
启动redis |
./redis-server …/redis.conf & |
即可远程连接 |
|
4.安装fastdfs,tracker,nginx
说明:此部分为借鉴happyfish100的github:原文连接为:https://github.com/happyfish100/fastdfs/wiki#tracker 本文只涉及到单机部署,分布式部署请看原文。
系统环境及软件包
名称 |
说明 |
centos |
7.X |
libfatscommon |
FastDFS分离出的一些公用函数包 |
FastDFS |
FastDFS本体 |
fastdfs-nginx-module |
FastDFS和nginx的关联模块 |
nginx |
nginx1.15.4 |
编译环境
安装前的编译环境安装(即使只安装nginx也需要安装以下编译环境),执行以下命令即可安装:
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
磁盘目录
说明 |
位置 |
所有安装包 |
/usr/local/src |
数据存储位置 |
/home/dfs/ |
步骤说明 |
执行命令 |
创建数据存储目录 |
mkdir /home/dfs |
切换到安装目录准备下载安装包 |
cd /usr/local/src |
安装libfatscommon
步骤说明 |
命令 |
下载 |
git clone https://github.com/happyfish100/libfastcommon.git --depth 1 |
切换目录 |
cd libfastcommon/ |
编译安装 |
./make.sh && ./make.sh install |
安装 FastDFS
步骤说明 |
命令 |
返回上一级 |
cd ../ |
下载 |
git clone https://github.com/happyfish100/fastdfs.git --depth 1 |
切换到安装目录 |
cd fastdfs/ |
编译安装 |
./make.sh && ./make.sh install |
复制tracker配置文件 |
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf |
复制storage配置文件 |
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf |
客户端文件,测试用 |
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf |
供nginx访问使用 |
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ |
供nginx访问使用 |
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ |
安装fastdfs-nginx-module
步骤说明 |
命令 |
切换目录 |
cd ../ |
下载 |
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1 |
复制配置文件 |
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs |
安装nginx
步骤说明 |
命令 |
下载nginx压缩包 |
wget http://nginx.org/download/nginx-1.14.2.tar.gz |
解压 |
tar -zxvf nginx-1.14.2.tar.gz |
切换解压后的目录 |
cd nginx-1.14.2/ |
添加fastdfs-nginx-module模块 |
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ |
编译安装 |
make && make install |
安装多个nginx
步骤说明 |
命令(黄色为安装目录) |
进入nginx目录 |
cd nginx-1.14.2/ |
配置安装目录 |
./configure --prefix= /home/work/nginx2(此处无空格) |
编译安装 |
make && make install |
查看目录文件 |
ls ../ 查看是否安装成功,出现nginx2和nginx就成功了 |
配置nginx2的相关配置 |
vi /usr/local/nginx/conf/nginx.conf 进行相应更改 |
单机部署
服务器ip为192.168.31.130,请根据实际情况进行更改
tracker配置文件更改
步骤说明 |
修改命令及内容(黄色部分根据实际情况修改) |
编辑tracker.conf 文件 |
vim /etc/fdfs/tracker.conf |
修改默认端口号 |
port=22122 |
修改存储日志和数据的根目录 |
base_path=/home/dfs |
storage配置文件更改
步骤说明 |
修改命令及内容(黄色部分根据实际情况修改) |
编辑storage.conf 文件 |
vim /etc/fdfs/storage.conf |
修改默认端口号 |
port=23000 |
修改存储日志和数据的根目录 |
base_path=/home/dfs |
第一个存储目录 |
store_path0=/home/dfs |
tracker服务器IP和端口 |
tracker_server=192.168.31.130:22122 |
http访问文件的端口(默认8888,看情况修改,和nginx中保持一致) |
http.server_port=8888 |
配置nginx访问
步骤说明 |
修改命令及内容(黄色部分根据实际情况修改) |
打开mod_fastdfs.conf配置文件编辑 |
vim /etc/fdfs/mod_fastdfs.conf |
修改tracker服务器IP和端口 |
tracker_server=192.168.31.130:22122 |
文件url中是否有group名 |
url_have_group_name=true |
修改存储日志和数据的根目录 |
store_path0=/home/dfs |
配置nginx.config |
vim /usr/local/nginx/conf/nginx.conf |
在nginx.config中更改如下配置
server {listen 8888; ## 该端口为storage.conf中的http.server_port相同server_name localhost;location ~/group[0-9]/ {ngx_fastdfs_module;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
#弹出下载,单机部署全部跑通
启动服务
防火墙
不关闭防火墙的话无法使用,因之前关闭过,所以这一步可以跳过。
步骤说明 |
命令 |
关闭防火墙 |
systemctl stop firewalld.service |
重启防火墙 |
systemctl restart firewalld.service |
防火墙开机不自启 |
systemctl disable firewalld.service |
tracker服务
步骤说明 |
命令 |
启动tracker服务 |
/etc/init.d/fdfs_trackerd start |
重启动tracker服务 |
/etc/init.d/fdfs_trackerd restart |
停止tracker服务 |
/etc/init.d/fdfs_trackerd stop |
自启动tracker服务 |
chkconfig fdfs_trackerd on |
storage服务
步骤说明 |
命令 |
启动storage服务 |
/etc/init.d/fdfs_storaged start |
重动storage服务 |
/etc/init.d/fdfs_storaged restart |
停止动storage服务 |
/etc/init.d/fdfs_storaged stop |
自启动storage服务 |
chkconfig fdfs_storaged on |
nginx
步骤说明 |
命令 |
启动nginx |
/usr/local/nginx/sbin/nginx |
重启nginx |
/usr/local/nginx/sbin/nginx -s reload |
停止nginx |
/usr/local/nginx/sbin/nginx -s stop |
client测试(可跳过,服务全部启动后测试)
步骤说明 |
修改命令及内容(黄色部分根据实际情况修改) |
编辑client.conf 文件 |
vim /etc/fdfs/client.conf |
修改存储日志和数据的根目录 |
base_path=/home/dfs |
tracker服务器IP和端口 |
tracker_server=192.168.31.130:22122 |
保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz |
fdfs_upload_file /etc/fdfs/client.conf /usr/local/nginx-1.14.2.tar.gz |
#测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
http://192.168.31.130:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
检测集群
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
# 会显示会有几台服务器 有3台就会 显示 Storage 1-Storage 3的详细信息
说明
配置文件
命令说明 |
具体命令 |
有几台服务器写几个 |
tracker_server |
地址的名称的命名 |
group_name |
服务器ip绑定 |
bind_addr |
store_path(数字)有几个写几个 |
store_path_count |
设置几个储存地址写几个 从0开始 |
store_path(数字) |
可能遇到的问题
(1)如果不是root 用户 你必须在除了cd的命令之外 全部加sudo
(2)如果不是root 用户 编译和安装分开进行 先编译再安装
(3)如果上传成功 但是nginx报错404 先检查mod_fastdfs.conf文件中的store_path0是否一致
(4)如果nginx无法访问 先检查防火墙 和 mod_fastdfs.conf文件tracker_server是否一致
(5)如果不是在/usr/local/src文件夹下安装 可能会编译出错
5.安装rabbitMq服务
1.快速安装
步骤 |
命令 |
快速安装erlang |
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash |
安装erlang |
yum install erlang |
快速安装rabbitmq |
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash |
安装rabbitmq |
yum install rabbitmq-server |
以上快速安装安装不上,镜像找不到,请看第二种方法。
2.第二种方法
rabbitmq是erlang语言编写的,安装rabbitmq之前,需要先安装erlang,这里用erlang的源码进行安装,erlang安装包官网下载地址:http://erlang.org/download/,因erlang为外国镜像,所以下载很慢,可以用以下百度网盘连接获取:https://pan.baidu.com/s/1H0uop_m0fsWXt3vFMcNNzg
提取码:ge3j
(1)安装erlang
将下载下来的文件放到/usr/local下
步骤 |
命令 |
安装依赖环境 |
yum -y install ncurses-devel |
切换目录 |
cd /usr/local |
解压erlang包 |
tar -xvf otp_src_21.0.tar.gz |
切换目录 |
cd otp_src_21.0 |
常见文件夹 |
mkdir -p /usr/local/erlang |
编译安装 |
./configure --prefix=/usr/local/erlang &&make &&make install |
添加环境变量 |
vi /etc/profilewq保存即可 |
添加路径 |
PATH=$PATH:/usr/local/erlang/bin |
重启环境变量使之生效 |
source /etc/profile |
启动erlang |
erl |
退出命令 |
halt(). 不要忘记这个点 |
(2)安装rabbitmq
步骤 |
命令 |
切换目录 |
cd /usr/local/ |
下载包 |
wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.10/rabbitmq-server-3.7.10-1.el7.noarch.rpm |
安装 |
yum install -y rabbitmq-server-3.7.10-1.el7.noarch.rpm |
检查是否安装成功 |
rabbitmqctl status |
启动rabbitmq服务 |
service rabbitmq-server start |
开启管理后台 |
rabbitmq-plugins enable rabbitmq_management |
默认账号和密码 |
guest guest |
默认账号不支持远程,新建一个账号 |
rabbitmqctl add_user username password |
赋予新建账号权限 |
rabbitmqctl set_user_tags username administrator |
就可以通过浏览器 ip:15672 用户名,密码 登陆成功
rabbitmq常用命令
解释说明 |
命令 |
添加用户 |
rabbitmqctl add_user 用户名 密码 |
删除用户 |
rabbitmqctl delete_user 用户名 |
修改用户密码 |
rabbitmqctl change_password 用户名 新密码 |
启动rabbitmq服务 |
service rabbitmq-server start |
停止rabbitmq服务 |
service rabbitmq-server stop |
设置开机自启 |
chkconfig rabbitmq-server on |
注意事项
因被用来当作服务器,所以以上所有服务需要设置自启动,否则需要手动启动,也可以写开机自启动脚本来开机自启
有开启自启动的服务可以删除
#!/bin/bashsystemctl start mysqld.service #启动mysql
cd /usr/local/redis-4.0.8/src #切换目录
./redis-server ../redis.conf & #启动redis
/etc/init.d/fdfs_trackerd start #启动fdfs_trackerd
/etc/init.d/fdfs_storaged start #启动fdfs_storaged
/usr/local/nginx/sbin/nginx #启动nginx
service rabbitmq-server start #启动rabbitmq
将以上文本用vi编辑器写入,并命名为start.sh 放入/usr/local
自启动步骤 |
命令(根据实际目录填写) |
初次使用增加权限 |
chmod +x /usr/local/start.sh |
添加入自启动 |
vi /etc/rc.d/rc.local |
将start.sh的目录写入 |
|
增加可执行权限 |
chmod +x /etc/rc.d/rc.local |
如果是windows编辑,通过ftp上传的需要执行这条命令 |
sed -i ‘s/\r$//’ /usr/local/start.sh |
以上服务即可在开机时自动启动,至此服务器搭建完成。