centos系统搭建开发环境与服务
前言
centos系统需保证能够上外网
1.安装java-1.8.0版本
yum install -y 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; 第二种适用于第一种失败的情况:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘password ’; (13)关闭防火墙 systemctl stop firewalld.service (14)永久关闭防火墙 systemctl disable firewalld.service (15)即可用远程软件连接 远程软件navicat ,安装完成打开即可测试连接,
若连接不成功请检测mysql配置文档找到 bind-address = 127.0.0.1这一行 改为bind-address = 0.0.0.0即可
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 && make install 后台启动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/profile wq保存即可 添加路径 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/bash
systemctl 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
以上服务即可在开机时自动启动,至此服务器搭建完成。