基于CentOS 7部署开发环境

声明

1)该文章整理自网上的大牛和专家无私奉献的资料,具体引用的资料请看参考文献。
2)本文仅供学术交流,非商用。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。
3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。
4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。

安装包路径放在 /usr/local/ 下
自启动systemctl文件放在 /usr/lib/systemd/system/ 下
Centos 7之前使用service,7之后使用 systemmctl
本笔记基于 Centos 7.2 版本整理,适用于7.0以上版本
自启动测试全部成功
未解决:systemctl 启动顺序怎么设置,设置after测试并没有用

一:安装 JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
tar -xvf jdk-8u162-linux-x64.tar.gz -C /usr/local/
vim /etc/profile
####################################################
export JAVA_HOME=/usr/local/jdk1.8.0_162
export JRE_HOME=/usr/local/jdk1.8.0_162/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH
#####################################################
保存后退出
source /etc/profile
java -version

二:安装 Mysql

https://downloads.mysql.com/archives/community/
tar -xvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
mv xxx mysql
创建mysql用户组及其用户
mkdir /usr/local/mysql/data
groupadd mysql                           
useradd -r -g mysql mysql
修改当前目录拥有者为mysql用户
cd mysql
chown -R mysql:mysql ./              
初始化数据
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/      
此处会生成一个密码,记录下来,不然后面无法登陆
cd /usr/local/mysql
./bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data
上传该配置文件到 /etc/my.cnf 
mkdir -p /var/lib/mysqld
chown mysql:mysql /var/lib/mysqld
vim /etc/profile
#############################################
export PATH=$PATH:/usr/local/mysql/bin
#############################################
保存后退出
source /etc/profile
添加 mysql 为服务并开机自启动
touch /usr/lib/systemd/system/mysql.service
vim /usr/lib/systemd/system/mysql.service
##############################################
[Unit]
Description=MySQL Server
After=network.target remote-fs.target nss-lookup.target

[Service]
User=mysql
Group=mysql
Type=simple
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
Restart=always
#RestartPreventExitStatus=1
#PrivateTmp=false

[Install]
WantedBy=multi-user.target
##############################################
chmod 777 /usr/lib/systemd/system/mysql.service
systemctl daemon-reload
开机自启动  systemctl enable mysql.service
启动  systemctl start mysql.service
默认端口 3306
进入 mysql 
/usr/local/mysql/bin/mysql -uroot -p
修改密码
mysql> set password for root@localhost = password('Zhaoweijun100');
mysql> update mysql.user set host = '%' where user = 'root';
mysql> flush privileges;
mysql> exit;

安装到此结束,以下是填坑时的经验,如果没有碰到,请忽略。
正常启动
/usr/local/mysql/bin/mysqld --user=mysql
以safe守护进程模式启动mysql,非正常停止时会自动重启
/usr/local/mysql/bin/mysqld_safe --user=mysql &
注意:使用 mysqld_safe起的mysql是个守护进程,如果关闭mysql需要执行
mysqladmin -h127.0.0.1 -uroot -p shutdown
注意:service 自启动无法开启原因和解决方案  
/var/run/mysqld 目录每次重启后都需要手动去创建,
是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。
vim /etc/init.d/mysqld
找到下面字段
get_mysql_option mysqld_safe pid-file "/var/run/mysqld/mysqld.pid"
修改为
get_mysql_option mysqld_safe pid-file "/var/lib/mysql/mysqld.pid"
保存后退出,执行
systemctl daemon-reload
https://www.cnblogs.com/ivictor/p/5146247.html

三:安装 Redis

https://redis.io/download
tar -xvf redis-4.0.8.tar.gz -C /usr/local/
mv xxx redis
cd /usr/local/redis
make
cd src
make install
cd /usr/local/redis
mkdir bin
mkdir log
touch ./log/redis.log
cd /usr/local/redis/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /usr/local/redis/bin
修改配置文件 /usr/local/redis/redis.conf
daemonize no => yes   #后台运行
bind 0.0.0.0
requirepass weijunZhao
logfile "/usr/local/redis/log/redis.log"
dir  "/usr/local/redis/"
如果redis设置定时任务需要开启
notify-keyspace-events "KEA"
添加 Redis 为服务并开机自启动
touch /usr/lib/systemd/system/redis-server.service
vim /usr/lib/systemd/system/redis-server.service
##############################################
[Unit]
Description=Redis-Server Manager
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
Restart=always
#PrivateTmp=true

[Install]
WantedBy=multi-user.target
##############################################
chmod 777 /usr/lib/systemd/system/redis-server.service
systemctl daemon-reload
开机自启动  systemctl enable redis-server.service
启动  systemctl start redis-server.service
默认端口号 6379

注意:安装过程中出现 adlist.o 错误时,一般是没有gcc,需要安装依赖
http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
放在文件夹 gcc 中,进入执行
rpm -Uvh *.rpm --nodeps --force
即可
删除 redis 然后在重新解压make,否则报TMD一堆错
make 报错还有种方式:
make MALLOC=libc
直接运行命令
运行Redis服务端
./bin/redis-server /usr/local/redis/redis.conf  
运行Redis客户端
./bin/redis-cli

四:安装 Zookeeper

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
tar -xvf zookeeper-3.4.10.tar.gz -C /usr/local/
mv  xxx zookeeper
cd zookeeper
mkdir data
mkdir log
cp ./conf/zoo_sample.cfg ./conf/zoo.cfg
vim ./conf/zoo.cfg
#############################################
tickTime=2000
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
clientPort=2181
initLimit=5
syncLimit=2
############################################
保存后退出
vim   /etc/profile
############################################
export ZOOKEEPER=/usr/local/zookeeper
export PATH=$ZOOKEEPER/bin:$PATH
############################################
保存后退出
source /etc/profile
添加 zookeeper 为服务并开机自启动
touch /usr/lib/systemd/system/zookeeper.service
vim /usr/lib/systemd/system/zookeeper.service
############################################
[Unit]
Description=Zookeeper Service
After=network.target
ConditionPathExists=/usr/local/zookeeper/conf/zoo.cfg

[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk1.8.0_162
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
Restart=always

[Install]
WantedBy=multi-user.target
############################################
chmod 777 /usr/lib/systemd/system/zookeeper.service
systemctl daemon-reload
开机自启动  systemctl enable zookeeper.service
启动  systemctl start zookeeper.service
默认端口 2181

直接启动命令
./bin/zkServer.sh start
./bin/zkServer.sh stop

五:安装 Kafka

http://kafka.apache.org/downloads
tar -xvf  kafka_2.11-0.10.1.1.tgz -C /usr/local/
mv xxx kafka
cd kafka
mkdir log
vim ./config/server.properties
############################################
log.dirs=/usr/local/kafka/log
############################################
注意:如果调用服务和kafka不在同一个服务器,需要开启广播
server.properties
############################################
advertised.listeners=PLAINTEXT://xxx:9092
############################################
添加 Kafka 为服务并开机自启动
touch /usr/lib/systemd/system/kafka.service
vim /usr/lib/systemd/system/kafka.service
############################################
[Unit]
Description=kafka server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk1.8.0_162
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh  -daemon /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh  /usr/local/kafka/config/server.properties
Restart=always

[Install]
WantedBy=multi-user.target
############################################
chmod 777 /usr/lib/systemd/system/kafka.service
systemctl daemon-reload
开机自启动  systemctl enable kafka.service
启动  systemctl start kafka.service
停止  systemctl stop kafka.service
默认端口 9092

直接启动命令
nohup ./bin/kafka-server-start.sh  ./config/server.properties &

六:安装 Nginx

解压
tar -xvf /usr/local/nginx-1.15.2.tar.gz -C /usr/local/
mv xxx nginx
cd nginx
加载配置(注意:/nginx.conf 不是 /conf/nginx.conf)
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf
make
make install
在web地址栏输入 localhost:80 显示 nginx 欢迎界面
成功后显示nginx的所有路径
添加 nginx 为服务并开机自启动
touch /usr/lib/systemd/system/nginx.service
vim /usr/lib/systemd/system/nginx.service
########################################
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
Restart=always

[Install]
WantedBy=multi-user.target
########################################
chmod 777 /usr/lib/systemd/system/nginx.service
systemctl daemon-reload
开机自启动  systemctl enable nginx.service
启动  systemctl start nginx.service
默认端口 80

直接启动命令
./sbin/nginx -c ./conf/nginx.conf
在不停止 nginx 的情况下加载配置文件
./sbin/nginx -s reload

其他在线安装方式(不推荐)
在线Ubuntu安装
sudo apt-get update
sudo apt-get install nginx
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
在线centos安装
sudo yum install -y nginx
启动:nginx -c nginx.conf
网站文件存放默认目录
/usr/share/nginx/html
网站默认站点配置
/etc/nginx/conf.d/default.conf
自定义Nginx站点配置文件存放目录
/etc/nginx/conf.d/
Nginx全局配置
/etc/nginx/nginx.conf
安装包安装
依赖环境:
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
本地安装依赖环境:
检测  rpm -qa pcre
https://centos.pkgs.org/7/centos-x86_64/pcre-devel-8.32-17.el7.x86_64.rpm.html
安装  rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm
检测  rpm -qa zlib
https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-17.el7.x86_64.rpm.html
安装  rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
如果报错使用强制安装指令
rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm --nodeps --force 
rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm --nodeps --force

七:安装 Tomcat

http://tomcat.apache.org/download-80.cgi
tar -xvf apache-tomcat-8.5.11.tar.gz -C /usr/tomcat/
mv xxx tomcat
cd tomcat
vim ./bin/setclasspath.sh
#######################################
export JAVA_HOME=/usr/local/jdk1.8.0_121
export JRE_HOME=/usr/local/jdk1.8.0_121/jre
#######################################
以上这一步不是必须的
项目存放目录
/usr/local/tomcat/webapps/
配置文件地址
./conf/server.xml
添加 tomcat 为服务并开机自启动
touch /usr/lib/systemd/system/tomcat.service
vim /usr/lib/systemd/system/tomcat.service
########################################
[Unit]
Description=Tomcat Service
After=syslog.target network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/jdk
#PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
########################################
chmod 777 /usr/lib/systemd/system/tomcat.service
systemctl daemon-reload
开机自启动  systemctl enable tomcat.service
启动  systemctl start tomcat.service
默认端口号  8080

直接启动命令
./bin/startup.sh

八:安装 Go

https://blog.csdn.net/zxs9999/article/details/78874807
tar -xvf  go1.10.1.linux-amd64.tar.gz -C /usr/local/
mv xxx go
cd /
mkdir ws_go
vim /etc/profile
##############################################
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/ws_go
##############################################
如果安装目录不在 /usr/local/ 下,需要设置 GOROOT
##############################################
export GOROOT=/usr/go
export PATH=$PATH:$GOROOT/bin
##############################################
source /etc/profile
验证
go version

九:安装 MongoDB

https://www.mongodb.com/download-center#production
tar –zxvf mongodb-linux-x86_64-rhel62-3.2.4.gz -C /usr/local/
mv xxx mongodb
vim /etc/profile
##############################################
export MONGODB_HOME=/usr/local/mongodb  
export PATH=$PATH:$MONGODB_HOME/bin
#############################################
source /etc/profile
cd mongodb
mkdir db   用于存放数据库
touch mongodb.conf     创建 conf 文件
mkdir   logs    用于存放日志
touch mongodb.log
设置 logs 和 db 的权限
启动
./bin/mongod  --config ./mongodb.conf
waiting for...代表成功
连接 mongodb 
./mongo
/usr/local/mongodb/mongodb.conf   创建conf添加以下内容
###################################################
port=27017 #端口号
dbpath=/usr/local/mongodb/db #数据库存放路径
logpath=/usr/local/mongodb/logs/mongodb.log #日志输出文件路径
logappend=true #日志输出方式为追加方式
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true #设置后台运行
shardsvr=true
#auth=true #开启认证
#noauth=true #不开启认证
bind_ip=0.0.0.0  #开通外部访问
#########################################################
设置开机自启动
touch /usr/lib/systemd/system/mongodb.service
mongodb.service 设置如下:
#################################################
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
#####################################################
chmod 777 /usr/lib/systemd/system/mongodb.service
systemctl daemon-reload
注册到开机启动 systemctl enable mongodb.service
启动 systemctl start mongodb.service 

创建账号密码,先stop
/usr/local/mongodb/mongodb.conf 修改配置文件添加
auth=true (打开这个设置,默认关闭,打开后开启安全验证)
use admin  //用admin身份
db.createUser({user:"root",pwd:"root123",roles:["root"]})//创建账号
db.auth("root","rootzwj")//就可以进入了
默认端口 27017 

十:安装 Rar,Zip 包

https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz
tar -zxvf rarlinux-x64-5.5.0.tar.gz -C /usr/local/
cd rar 
make
即可
常用指令
解压rar包     rar x bb.rar

十一:java 自启动

假设 jar 包的路径为 /usr/service/test/test.jar
编写启动脚本:test-start.sh
################################################
#!/bin/sh

export JAVA_HOME=/usr/local/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$PATH

nohup java -jar /usr/service/test/test.jar > /usr/service/test/test.log 2>&1 &
echo $! > /var/run/test.pid
################################################
编写停止脚本:test-stop.sh
################################################
#!/bin/sh

PID=$(cat /var/run/test.pid)
kill -9 $PID
rm -fr /var/run/test.pid
################################################
touch /usr/lib/systemd/system/java-test.service
###############################################
[Unit]
Description=TestJava
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/service/test/start.sh
ExecStop=/usr/service/test/stop.sh
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target
###############################################
chmod 777 /usr/lib/systemd/system/java-test.service
systemctl daemon-reload
注意:一定要修改 jar 包路径的权限
chmod -R 777 /usr/service/
注册到开机启动 systemctl enable java-test.service
启动 systemctl start java-test.service
关闭 systemctl stop java-test.service
注意:在win和Linux之间的文件格式不一样
vim xxx.sh 之后查看文件格式
:set ff
Linux的设置为
:set ff=unix
即可
注意:当用 supervisord 管理 java 程序时,要在 supervisor 的配置文件里添加JAVA_HOME
不需要 start.sh 和 stop.sh,修改权限
conf 文件为
#######################################################
[program:java-test]
command = java -jar /usr/service/test/test.jar
autostart=true
startsecs=3
startretries=3
autorestart=true
exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
redirect_stderr=false
stdout_logfile=/usr/service/logstash/log-info-java-test.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_capture_maxbytes=0
stdout_events_enabled=true
stderr_logfile=/usr/service/logstash/log-error-yum-java-test.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=1
stderr_capture_maxbytes=0
stderr_events_enabled=false
#######################################################
启动 supervisor 即可

十二:安装 supervisor (可以管理go,java等进程)

假设 supervisord 的路径为 /data/go/supervisor/supervisord
编写启动脚本:startup.sh
#################################################
#!/bin/sh

export JAVA_HOME=/usr/local/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$PATH

nohup /usr/service/supervisor/supervisord -c=/usr/service/supervisor/supervisor.conf > /usr/service/logstash/log_supervisord.log 2>&1 &
echo $! > /var/run/supervisord.pid
#################################################
编写停止脚本:stop.sh
#################################################
#!/bin/sh

PID=$(cat /var/run/supervisord.pid)
kill -9 $PID
rm -fr /var/run/supervisord.pid
#################################################
添加到系统服务:
touch /usr/lib/systemd/system/supervisord.service
supervisord.service 设置如下:
#################################################
[Unit]
Description=supervisord
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
# Environment=JAVA_HOME=/usr/local/jdk1.8.0_162
ExecStart=/usr/service/supervisor/startup.sh
ExecStop=/usr/service/supervisor/stop.sh
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target
#####################################################
chmod 777 /usr/lib/systemd/system/supervisord.service
systemctl daemon-reload
注册到开机启动 systemctl enable supervisord.service
chmod -R 777 /usr/service
启动 systemctl start supervisord.service 
关闭 systemctl stop supervisord.service 
注意:supervisord/conf里的配置文件
java需要加载单独配置文件时,需要注明路径,如下:
[program:user]
directory = /usr/service/user/
command = java -jar ./user.jar

十三:安装 ZeroMQ

wget http://download.zeromq.org/zeromq-4.0.4.tar.gz
tar zvxf zeromq-4.0.4.tar.gz -C /usr/local/
mv zeromq-4.0.4 zeromq
cd zeromq
先安装GCC, G++
sudo yum install gcc
sudo yum install gcc-c++
编译安装
./configure
安装成功

十四:安装 EMQTT(客户端服务端二合一)

http://www.emqtt.com/downloads
emqx 为开发版
emqttd 为稳定版
chmod -R 777 /usr/local/emqttd
加入系统服务
添加到系统服务:
touch /usr/lib/systemd/system/emqttd.service
vim /usr/lib/systemd/system/emqttd.service
emqttd.service 设置如下:
#################################################
[Unit]
Description=emqttd
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment=HOME=/usr/local/emqttd
ExecStart=/usr/local/emqttd/bin/emqttd start
ExecReload=/usr/local/emqttd/bin/emqttd reboot
ExecStop=/usr/local/emqttd/bin/emqttd stop
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/emqttd.service
systemctl daemon-reload
注册到开机启动 systemctl enable emqttd.service
修改 emqttd 的目录权限后再开机
启动 systemctl start emqttd.service 

直接启动指令
./bin/emqttd start
常用端口号

十五:安装 Logstash(java,测试至少需要500M内存)

https://www.elastic.co/downloads/logstash
2019-04-11 以最新版 logstash-7.0.0.tar.gz 为例
解压后
cd  /usr/local/logstash
修改配置文件 ./config/logstash.yml ,设置
====================================
http.host: 0.0.0.0
#设置节点名称,一般写主机名
node.name: cpy04.dev.xjh.com
#创建logstash 和插件使用的持久化目录
path.data: /usr/local/logstash/data
#开启配置文件自动加载
config.reload.automatic: true
#定义配置文件重载时间周期
config.reload.interval: 10s
http.host: "0.0.0.0"
log.level: info
path.logs: /usr/local/logstash/logs
========================================
新建配置文件 logstash.conf(配置文件名字任意)
========================================
input {
    file {
     path => ["/usr/service/logstash"]
     type => "service_log"
     start_position => "beginning"
    }
}

filter {

}

output {
    elasticsearch {
    hosts => ["http://106.12.78.98:9200"]
    index => "sz01-106.12.73.138"
  }
}
=========================================
添加到系统服务开机自启动(特殊)
执行一条指令
/usr/local/logstash/bin/system-install
chmod -R 777 /usr/local/logstash  
/usr/local/logstash/config/startup.options systemd
默认会在 /etc/systemd/system/logstash.service 下生成
自动生成的是以 logstash 用户权限,修改 logstash.service
修改用户和组和conf文件
logstash.service 设置如下:
##########################################
[Unit]
Description=logstash

[Service]
Type=forking
User=root
Group=root
Environment=JAVA_HOME=/usr/local/jdk1.8.0_162
ExecStart=/usr/local/logstash/bin/logstash -f /usr/local/logstash/logstash.conf
Restart=always

[Install]
WantedBy=multi-user.target
##########################################
chmod 777 /etc/systemd/system/logstash.service
systemctl daemon-reload
systemctl enable logstash.service
systemctl start logstash.service
systemctl status logstash.service
默认端口号 
9600

直接启动命令
启动  bin/logstash -f logstash.conf
后台运行 nohup ./bin/logstash -f logstash.conf &

十六:Elastic APM-Server

安装前提:jdk
下载地址:
https://www.elastic.co/cn/downloads/apm
解压
重命名 
mv xxx  apm-server
修改 apm-server.yml 配置文件
apm-server:
        host: "0.0.0.0:8200"   #内网测试此处如果设置为localhost会有问题
rum:
        enabled: true
output.elasticsearch:
        hosts: ["xxx:9200"]
Linux 运行
nohup ./apm-server &
端口 8200
加入系统服务开机自启动
touch /usr/lib/systemd/system/apm-server.service
apm-server.service 设置如下:
#################################################
[Unit]
Description=apm-server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/apm-server/apm-server -e -c /usr/local/apm-server/apm-server.yml

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/apm-server.service
systemctl daemon-reload
注册到开机启动 systemctl enable apm-server.service
启动 systemctl start apm-server.service
关闭 systemctl stop apm-server.service

十七:安装 Elsearch(java,测试至少需要1.3G的内存)

https://www.elastic.co/downloads/elasticsearch
解压后重命名
mv xxx elasticsearch
mkdir /usr/local/elasticsearch/data
mkdir /usr/local/elasticsearch/logs
需要修改config/elasticsearch.yml中配置文件
cluster.name: aliyun-elastic
node.name: node-1
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
在Linux下,由于安全考虑不予许使用root用户启动
先创建用户组和用户
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch /usr/local/elasticsearch
切换用户
su  elsearch
cd /usr/local/elasticsearch
./bin/elasticsearch
nohup ./bin/elasticsearch &
默认端口号 92009300
如果碰到问题
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
在root用户下,在 /etc/sysctl.conf 的最后一行添加
vm.max_map_count=262144
然后执行 sysctl  -p
查看修改是否成功
sysctl -a|grep vm.max_map_count
重启 elasticsearch 即可
添加到系统服务:
touch /usr/lib/systemd/system/elastic.service
elastic.service 设置如下:
#################################################
[Unit]
Description=elastic
After=network.target remote-fs.target nss-lookup.target

[Service]
# 此处必须是 simple
Type=simple
User=elsearch
Group=elsearch
Environment=ES_HOME=/usr/local/elasticsearch
Environment=ES_PATH_CONF=/usr/local/elasticsearch/config
Environment=PID_DIR=/usr/local/elasticsearch
# EnvironmentFile=/etc/sysconfig/elasticsearch
# WorkingDirectory=/opt/elasticsearch

ExecStart=/usr/local/elasticsearch/bin/elasticsearch

StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/elastic.service
systemctl daemon-reload
注册到开机启动 systemctl enable elastic.service
启动 systemctl start elastic.service
关闭 systemctl stop elastic.service

十八:安装 kibana

https://www.elastic.co/downloads/kibana
修改 kibana.yml 配置文件,添加
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://xxxx:9200"]    #内网测试此处localhost页面会打不开
Linux 运行 
nohup ./bin/kibana &
端口 5601
加入系统服务开机自启动
touch /usr/lib/systemd/system/kibana.service
kibana.service 设置如下:
#################################################
[Unit]
Description=kibana
After=network.target remote-fs.target nss-lookup.target

[Service]
# 此处必须是 simple
Type=simple
ExecStart=/usr/local/kibana/bin/kibana

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/kibana.service
systemctl daemon-reload
注册到开机启动 systemctl enable kibana.service
启动 systemctl start kibana.service
关闭 systemctl stop kibana.service

十九:安装 filebeat(go)

下载地址
https://www.elastic.co/cn/downloads/beats/filebeat
配置文件
filebeat.yml
启动
nohup ./filebeat -c filebeat.yml  &
查看
ps -aux | grep filebeat
常用配置:
enabled: true
paths:
    - /usr/service/logstash/*.log*
tags: ["SH002-"]
output.elasticsearch:
  hosts: ["localhost:9200"]
添加到系统服务:
touch /usr/lib/systemd/system/filebeat.service
filebeat.service 设置如下:
#################################################
[Unit]
Description=filebeat
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
ExecStart=/usr/local/filebeat/filebeat -e -c /usr/local/filebeat/filebeat.yml

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/filebeat.service
systemctl daemon-reload
注册到开机启动 systemctl enable filebeat.service
有可能报错提醒为:
chmod go-w /usr/local/filebeat/filebeat.yml
启动 systemctl start filebeat.service 
关闭 systemctl stop filebeat.service 

二十:安装 telnet

查看
rpm -q telnet 
rpm -q telnet-server
rpm -q xinetd
下载地址
http://rpmfind.net/linux/rpm2html/search.php?query=telnet(x86-64)
http://www.rpmfind.net/linux/rpm2html/search.php?query=telnet-server(x86-64)
http://rpm.pbone.net/index.php3/stat/4/idpl/35493746/dir/centos_7/com/xinetd-2.3.15-13.el7.x86_64.rpm.html
三个文件分别为:
telnet-0.17-64.el7.x86_64.rpm
telnet-server-0.17-64.el7.x86_64.rpm
xinetd-2.3.15-13.el7.x86_64.rpm
安装软件包指令:
rpm -Uvh *.rpm --nodeps --force
修改文件/etc/xinetd.d/telnet来开启服务
disable = yes 为 disable = no
如果没有该文件,创建
touch /etc/xinetd.d/telnet
vim /etc/xinetd.d/telnet
############################################
# default: yes    
# description: The telnet server servestelnet sessions; it uses \   
# unencrypted username/password pairs for authentication.  
service telnet         
{  
  flags = REUSE  
  socket_type = stream  
  wait = no  
  user = root  
  server =/usr/sbin/in.telnetd  
  log_on_failure += USERID  
  disable = no   
}  
############################################
systemctl restart xinetd.service
systemctl enable xinetd.service
systemctl enable telnet.socket

二十一:OSS 对象存储系统(Minio)

一个二进制文件
https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod +x OSS
先启动,会生成一个 secret 和 key,分布式需要记住,或者固定指定这两个值
./OSS server /data
停止 ctrl + c

加入系统服务
touch /usr/lib/systemd/system/oss.service
vim /usr/lib/systemd/system/oss.service
#################################################
[Unit]
Description=oss
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
Environment=MINIO_ACCESS_KEY=BA3IZ8XP9THSFLQFPK82
Environment=MINIO_SECRET_KEY=Orwg3UaZj71v8he0dEfdmfILYYV1wLfIk+77yi1F
#ExecStart=/usr/local/oss/OSS server --address 127.0.0.1:80 /upload
ExecStart=/usr/local/oss/OSS server  /upload
Restart=always

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/oss.service
systemctl daemon-reload
systemctl enable oss.service
启动 systemctl start oss.service 
默认端口号 9000

二十二:读写分离 mycat(1.6.5-release版本)

前提:安装 jdk
mysql 实现同步机制
下载地址:
https://github.com/MyCATApache/Mycat-download
解压
加入系统变量
vim /etc/profile
export MYCAT_HOME=/usr/local/mycat/
source /etc/profile
修改配置文件 mycat/conf/ 下
修改配置文件 wrapper.conf ,设置 java 路径
wrapper.java.command=/usr/local/jdk1.8.0_162/bin/java
修改配置文件 server.xml,设置访问用户和访问权限
(根据需求修改,也可以不改)
修改配置文件 schema.xml
writeHost 和 readHost,删除其他无用的 writeHost
加入系统服务
touch /usr/lib/systemd/system/mycat.service
vim /usr/lib/systemd/system/mycat.service
#################################################
[Unit]
Description=mycat
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mycat/bin/mycat start
ExecStop=/usr/local/mycat/bin/mycat stop
Restart=always

[Install]
WantedBy=multi-user.target
################################################
chmod 777 /usr/lib/systemd/system/mycat.service
systemctl daemon-reload
systemctl enable mycat.service
启动 systemctl start mycat.service 
默认端口号 8066

验证方法
mysql -uroot -P8066 -p123456 -h127.0.0.1

直接启动方式
./bin/mycat start
./bin/mycat stop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值