CentOs
参照 https://www.cnblogs.com/Hello-java/p/8628917.html
1.下载镜像
http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso (找阿里云的镜像会比较快)
2.搞到u盘
3.U盘插到电脑上, 进去bios模式(thinkPad e480开机按F12), 然后安装centOs, 后面是傻瓜式操作
查看系统版本:
cat /etc/os-release
客户端连接私服
1.打开服务器ssh服务
systemctl start sshd.service
查看端口号 ifconfig
2.客户端ssh连接即可
JDK
参考: https://www.cnblogs.com/sxdcgaq8080/p/7492426.html; https://blog.csdn.net/x541211190/article/details/74786393
rpm -qa | grep "jdk"
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
1.先查看系统自带的, 并卸载掉
2.将安装包复制到/usr/java目录下
注意cp将文件复制到特定的目录, 需要进到该文件夹下直接对该文件进行操作, 文件前面带路径的操作不行
先创建java文件夹==.再复制
[root@localhost install]# cp jdk-8u201-linux-x64.rpm /usr/java
3.安装并配置环境变量
rpm -ivh jdk-8u201-linux-x64.rpm
编辑环境变量:
vi /etc/profile
然后添加三行:
#java
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后esc,:wq保存并退出
监测是否配置成功:
javac
出现“bash: javac: 未找到命令…”,则说明配置失败; 出现一坨说明配置成功!
补充:
1.修改/usr/java/jdk1.8.0_181-amd64/jre/lib/security/java.security文件里的参数
securerandom.source=file:/dev/urandom
否则tomcat启动时实例化SecureRandom对象会使得启动非常慢
2.数据库连接: 本机—(SSH)—>阿里ECS—(内网跳转)—>阿里rds
ssh连接服务器
服务器内网连接数据库
NODEJS
参考: https://www.cnblogs.com/lpbottle/p/7733397.html
照着上面一步步走吧
MYSQL
参考: https://www.cnblogs.com/wan genzhi/p/10569446.html —>这个更强
https://www.cnblogs.com/gudi/p/7967071.html
1 安装
以下四个包必须装
大体经验:
1.查看系统存的mysql并删除(centos会默认安装mariadb也需要删除)
查看:rpm -qa|egrep "mariadb|mysql"
删除:rpm -e --nodeps {-fileName}
2.安装mysql,顺序是common,lib,client,server
安装:rpm -ivh {-fileName}
报错:跟系统原有的包有冲突, 把冲突的卸载了, 再安装common的就ok了
解决:
启动
systemctl start mysqld.service
systemctl enable mysqld.service
systemctl status mysqld.service
2 改初始密码
alter user 'root'@'localhost' identified by 'Xinzhang123!@#';
3 navicat连接
查看3306端口号的情况
lsof -i:3306
报错:外网连接被拒
解决
先将3306端口加入外网访问的权限
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
再创建用户, 使用户能被外网访问
先登录: mysql -u root -p
再授权
mysql>use mysql;
mysql>update user set host='%' where user='root' and host='localhost';
mysql>flush privileges;
离开: exit
4 建库与数据同步
数据同步
ELK
(出了问题看系统日志: tail -f /var/log/messages)
运行前开端口防火墙,不然都访问不到
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
使用win10的telnet测试能否ping通
telnet 192.168.3.123 3306
1 安装
2 修改配置文件
elasticsearch配置文件
elasticsearch.yml 分配节点和端口(注意如果修改了日志输出路径要给elasticsearch用户授权)
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /opt/elasticsearch/data
#
# Path to log files:
#
path.logs: /opt/elasticsearch/logs
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: ['0.0.0.0']
#
# Set a custom port for HTTP:
#
# http.port: 9200
#
http.port: 40002
http.cors.enabled: true
http.cors.allow-origin: /.*/
http.cors.allow-credentials: true
transport.tcp.port: 40003
# For more information, consult the network module documentation.
jvm.options (16g内存的机器elasticsearch分配4G内存 )
################################################################
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms4g
-Xmx4g
然后到opt下手动创建文件夹, 然后给es授权去访问这个文件夹
查看用户
cat /usr/lib/systemd/system/elasticsearch.service
给elasticsearch用户授权
chown -R elasticsearch:elasticsearch /opt/elasticsearch
组和用户都要授权
安装ik分词器(版本要和es一致)
找到elasticsearch安装的位置:
find / -name elasticsearch
找到目录位置: /usr/share/elasticsearch,然后执行:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
kibana配置文件
server.port: 40003
server.host: '0.0.0.0'
xpack.security.enabled: false
elasticsearch.url: "http://192.168.3.123:40002"
logstash配置文件(logstash.yml,conf.d中连数据库的文件)
logstash.yml中改data和log地址, 然后授权, 同elasticsearch
path.data: /opt/logstash/data
path.logs: /opt/logstash/logs
授权(两处: 一是logs,data的地方, 另一个是conf.d, 需要权限创建last_value这个文件夹)
chown -R logstash:logstash /opt/logstash
chown -R logstash:logstash /etc/logstash/conf.d
conf.d中连数据库的配置文件此处略
3 使用
1> 用kibana先创建索引模板 参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
PUT _template/tuya_image
{...}
查看索引模板 GET _template/tuya_image
2>启动logstash进行数据同步
JENKINS
需要提前装好git以及maven以及jdk
1.安装
下载: https://pkg.jenkins.io/redhat-stable/
然后直接解压 rpm -ivh jenkins-2.164.1-1.1.noarch.rpm
vim /etc/sysconfig/jenkins 修改配置
修改端口即可
例如: JENKINS_PORT="30008"
启动
service jenkins start 或 systemctl start jenkins
再开放端口
iptables -I INPUT 1 -p tcp --dport 30008 -j ACCEPT
2.客户端配置jenkins的插件
查看端口号参考: https://blog.csdn.net/ws379374000/article/details/74218530https://blog.csdn.net/ws379374000/article/details/74218530
问题: 客户端无法访问到
先查看jenkins对应的进程号: ps -aux | grep jenkins
再查看进程打开的端口号: netstat -ntulp | grep 7060
最后查看哪些进程打开了30008端口: lsof -i :30008
访问: 195.168.3.197:30008
安装插件(系统管理-->插件管理, 傻瓜式安装~)):
初始化jenkins 安装推荐插件
Maven Integration plugin (自行安装插件在: 系统管理->插件管理)
Publish over SSH
Email Extension Plugin
全局工具配置:
Manage Jenkins-->Global Tool Configuration-->配置jdk, git, maven
其中jdk和maven的环境变量之前安装的时候配置过了, 直接查看 cat /etc/profile
git的安装目录在/usr/share/git-core/
3.项目构建
jenkins没有权限操作, 参考: https://www.jianshu.com/p/fa546f723724 , 我将用户改成root然后改文件夹权限了
NPM: 未找到命令, 参考: http://www.pianshen.com/article/4288384141/
TEAMCITY
REDIS
参考: https://my.oschina.net/rupertwong/blog/1916955; https://www.cnblogs.com/zuidongfeng/p/8032505.html
1.安装,安到 /opt/redis文件夹下
安装gcc依赖
yum install gcc-c++
解压
tar -zxvf redis-4.0.14.tar.gz
编译安装
# cd redis-4.0.10
# make MALLOC=libc
## 将/usr/local/redis-4.0.10/src目录下二进制文件安装到/usr/local/bin
# cd src
# make install
2.修改配置文件
3.systemd管理Redis
在 /usr/lib/systemd/system 目录下新建文件redis.service
[Unit]
Description=Redis
After=network.target
[Service]
WorkingDirectory=/opt/redis/redis-4.0.14
Type=forking
ExecStart=/opt/redis/redis-4.0.14/src/redis-server /opt/redis/redis-4.0.14/redis.conf
ExecStop=/opt/redis/redis-4.0.14/src/redis-cli -h 127.0.0.1 -p 40004 shutdown
[Install]
WantedBy=multi-user.target
再开放端口给外界访问
iptables -I INPUT 1 -p tcp --dport 40004 -j ACCEPT
最后启动, 外界访问测试ok (若出现问题, 查看状态, 然后跟着提示走吧)
systemctl start redis
补充:
1.部署服务器时redis的操作步骤
1.下载redis-4.0.10的源码
2.把redis解压(`tar -xzvf redis-xxx`)到opt目录下
3.进入redis文件目录执行make指令编译
4.修改redis.conf
a.增加内网地址绑定:bind xxxx
b.改为守护线程方式启动:daemonize yes
5.配置redis.service指令
[Unit]
Description=Redis
After=network.target
[Service]
WorkingDirectory=/opt/redis-4.0.10
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis.conf
ExecStop=/opt/redis-4.0.10/src/redis-cli shutdown
[Install]
WantedBy=multi-user.target
2.当redis部署在linux服务器上时的连接配置
第一步: 先通过SSH连接ECS
第二步: 再通过ECS在内部连接redis
MAVEN
参考: https://blog.csdn.net/Michael_HM/article/details/79755019
1.在opt下建maven, 并将安装包复制过去解压 tar-zxvf apa…
2.改环境变量
vi /etc/profile
#maven
MAVEN_HOME=/opt/maven/apache-maven-3.6.1
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
然后保存退出 esc :wq
mvn -v测试是否配置成功即可
GIT
查看现有安装
rpm -qa|grep git
如果有就卸载
rpm -e --nodeps git
然后再安装
yum intall git
DOCKER
参考: https://www.cnblogs.com/yufeng218/p/8370670.html
https://blog.csdn.net/wsjzzcbq/article/details/88082240
https://blog.csdn.net/u012814856/article/details/80454163
1.更新yum包
sudo yum update
2.安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker-ce
sudo yum install docker-ce
5.启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
6.查看是否安装成功
docker version
有client和server两部分即代表安装成功!
7.配置国内ustc镜像源
通过二进制安装的docker没有daemon.json文件, 直接按照默认路径新建一个文件就行了
vi /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}
然后重启服务搞定
systemctl restart docker
daemon.json
RABBITMQ
vhost作用: 参考 https://www.cnblogs.com/hongjh/p/7644718.html
作为rabbitmq的命名空间,vhost中包含许多exchange,queue,bings,vhost是rabbitmq分配权限的最小细粒度,不同命名空间的资源不能相互访问;
一个broker可以设置多个vhost, 用于不同用户的权限分离
1.安装Erlang(安装到/opt/erlang目录下):
i.安装依赖:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel socat unixODBC-devel
ii.下载opt_src_21.0源码(可以通过下载方式也可以自己去网上下)并解压
(可选)wget http://erlang.org/download/otp_src_21.0.tar.gz
tar -zxvf otp_src_21.0.tar
iii.进入otp_src_21.0目录,预安装:
./configure --prefix=/opt/erlang
iv.进行编译和安装: make install
v.执行指令:erl看是否安装Erlang成功
vi.如果erl提示找不到指令,执行:
ln -s /opt/erlang/bin/erl /usr/bin/erl
2.安装rabbitmq:
i.rpm -ivvh --nodeps rabbitmq-server-3.7.7-1.el7.noarch.rpm
ii.启用管理插件:
rabbitmq-plugins enable rabbitmq_management
iii.修改配置文件(如果没有就创建):/etc/rabbitmq/rabbitmq.conf
management.listener.port = 30005
loopback_users.guest = false
loopback_users.oms = false
heartbeat = 600
3.错误排查
i.启动报Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
chown rabbitmq:rabbitmq .erlang.cookie
chmod 400 .erlang.cookie
补充:
启动:service rabbitmq-server start
状态:service rabbitmq-server status
停止:rabbitmqctl stop
rabbitmq的vhost与用户管理
参考:
https://blog.csdn.net/leisure_life/article/details/78707338
https://blog.csdn.net/vbirdbest/article/details/78702685
命令:
1 rabbitmqctl add_user Username Password //添加用户
2.1 rabbitmqctl set_user_tags Username administrator//设置用户角色,#Tags 可以是:administrator, monitoring, management
2.2 rabbitmqctl set_permissions -p / Username ".*" ".*" ".*"
rabbitmqctl delete_user username //删除用户
rabbimqctl change_password username newpassword //改密码
3 rabbitmqctl add_vhost vhost_one //添加虚拟机
rabbitmqctl delete_vhost vhost_one //删除虚拟机
rabbitmqctl list_vhosts //查看虚拟机列表
4 rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*" //设置用户虚拟机访问权限
步骤:
1.创建用户以及密码 oms/oms888, consumer/oms888
2.给用户设置角色以及权限
3.添加虚拟机 oms
4.给用户设置虚拟机访问权限