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盘image.png
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

  1. rpm -qa | grep "jdk"
  2. rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
  3. rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
  4. rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
  5. rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64

1.先查看系统自带的, 并卸载掉
image.png
2.将安装包复制到/usr/java目录下
注意cp将文件复制到特定的目录, 需要进到该文件夹下直接对该文件进行操作, 文件前面带路径的操作不行

  1. 先创建java文件夹==.再复制
  2. [root@localhost install]# cp jdk-8u201-linux-x64.rpm /usr/java

3.安装并配置环境变量

  1. rpm -ivh jdk-8u201-linux-x64.rpm
  2. 编辑环境变量:
  3. vi /etc/profile
  4. 然后添加三行:
  5. #java
  6. export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
  7. export PATH=$JAVA_HOME/bin:$PATH
  8. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  9. 然后esc,:wq保存并退出
  10. 监测是否配置成功:
  11. javac
  12. 出现“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连接服务器
image.png
服务器内网连接数据库
image.png


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 安装
以下四个包必须装
image.png
大体经验:

  1. 1.查看系统存的mysql并删除(centos会默认安装mariadb也需要删除)
  2. 查看:rpm -qa|egrep "mariadb|mysql"
  3. 删除:rpm -e --nodeps {-fileName}
  4. 2.安装mysql,顺序是common,lib,client,server
  5. 安装:rpm -ivh {-fileName}

报错:跟系统原有的包有冲突, 把冲突的卸载了, 再安装common的就ok了
image.png
解决:
image.png
启动

  1. systemctl start mysqld.service
  2. systemctl enable mysqld.service
  3. systemctl status mysqld.service

2 改初始密码

  1. alter user 'root'@'localhost' identified by 'Xinzhang123!@#';

image.png
3 navicat连接
查看3306端口号的情况

  1. lsof -i:3306

报错:外网连接被拒
解决
先将3306端口加入外网访问的权限

  1. iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

再创建用户, 使用户能被外网访问

  1. 先登录: mysql -u root -p
  2. 再授权
  3. mysql>use mysql;
  4. mysql>update user set host='%' where user='root' and host='localhost';
  5. mysql>flush privileges;
  6. 离开: exit

4 建库与数据同步image.png
数据同步
image.png


ELK

(出了问题看系统日志: tail -f /var/log/messages)
运行前开端口防火墙,不然都访问不到

  1. iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
  2. 使用win10telnet测试能否ping
  3. telnet 192.168.3.123 3306

1 安装
image.png
2 修改配置文件
elasticsearch配置文件
elasticsearch.yml 分配节点和端口(注意如果修改了日志输出路径要给elasticsearch用户授权)

  1. # ----------------------------------- Paths ------------------------------------
  2. #
  3. # Path to directory where to store the data (separate multiple locations by comma):
  4. #
  5. path.data: /opt/elasticsearch/data
  6. #
  7. # Path to log files:
  8. #
  9. path.logs: /opt/elasticsearch/logs
  10. # ---------------------------------- Network -----------------------------------
  11. #
  12. # Set the bind address to a specific IP (IPv4 or IPv6):
  13. #
  14. network.host: ['0.0.0.0']
  15. #
  16. # Set a custom port for HTTP:
  17. #
  18. # http.port: 9200
  19. #
  20. http.port: 40002
  21. http.cors.enabled: true
  22. http.cors.allow-origin: /.*/
  23. http.cors.allow-credentials: true
  24. transport.tcp.port: 40003
  25. # For more information, consult the network module documentation.

jvm.options (16g内存的机器elasticsearch分配4G内存 )

  1. ################################################################
  2. # Xms represents the initial size of total heap space
  3. # Xmx represents the maximum size of total heap space
  4. -Xms4g
  5. -Xmx4g

然后到opt下手动创建文件夹, 然后给es授权去访问这个文件夹

  1. 查看用户
  2. cat /usr/lib/systemd/system/elasticsearch.service
  3. 给elasticsearch用户授权
  4. chown -R elasticsearch:elasticsearch /opt/elasticsearch

组和用户都要授权
image.png
安装ik分词器(版本要和es一致)

  1. 找到elasticsearch安装的位置:
  2. find / -name elasticsearch
  3. 找到目录位置: /usr/share/elasticsearch,然后执行:
  4. ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip

kibana配置文件

  1. server.port: 40003
  2. server.host: '0.0.0.0'
  3. xpack.security.enabled: false
  4. elasticsearch.url: "http://192.168.3.123:40002"

logstash配置文件(logstash.yml,conf.d中连数据库的文件)
logstash.yml中改data和log地址, 然后授权, 同elasticsearch

  1. path.data: /opt/logstash/data
  2. path.logs: /opt/logstash/logs

授权(两处: 一是logs,data的地方, 另一个是conf.d, 需要权限创建last_value这个文件夹)

  1. chown -R logstash:logstash /opt/logstash
  2. chown -R logstash:logstash /etc/logstash/conf.d

conf.d中连数据库的配置文件此处略
3 使用

  1. 1> 用kibana先创建索引模板 参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
  2. PUT _template/tuya_image
  3. {...}
  4. 查看索引模板 GET _template/tuya_image
  5. 2>启动logstash进行数据同步

JENKINS

需要提前装好git以及maven以及jdk
1.安装

  1. 下载: https://pkg.jenkins.io/redhat-stable/
  2. 然后直接解压 rpm -ivh jenkins-2.164.1-1.1.noarch.rpm
  3. vim /etc/sysconfig/jenkins 修改配置
  4. 修改端口即可
  5. 例如: JENKINS_PORT="30008"
  6. 启动
  7. service jenkins start 或 systemctl start jenkins
  8. 再开放端口
  9. 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
image.png
再查看进程打开的端口号: netstat -ntulp | grep 7060
image.png
最后查看哪些进程打开了30008端口: lsof -i :30008
image.png

  1. 访问: 195.168.3.197:30008
  2. 安装插件(系统管理-->插件管理, 傻瓜式安装~)):
  3. 初始化jenkins 安装推荐插件
  4. Maven Integration plugin (自行安装插件在: 系统管理->插件管理)
  5. Publish over SSH
  6. Email Extension Plugin
  7. 全局工具配置:
  8. Manage Jenkins-->Global Tool Configuration-->配置jdk, git, maven
  9. 其中jdk和maven的环境变量之前安装的时候配置过了, 直接查看 cat /etc/profile
  10. 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文件夹下
image.png

  1. 安装gcc依赖
  2. yum install gcc-c++
  3. 解压
  4. tar -zxvf redis-4.0.14.tar.gz
  5. 编译安装
  6. # cd redis-4.0.10
  7. # make MALLOC=libc
  8. ## 将/usr/local/redis-4.0.10/src目录下二进制文件安装到/usr/local/bin
  9. # cd src
  10. # make install

2.修改配置文件
image.png

image.png

image.png
3.systemd管理Redis
在 /usr/lib/systemd/system 目录下新建文件redis.service

  1. [Unit]
  2. Description=Redis
  3. After=network.target
  4. [Service]
  5. WorkingDirectory=/opt/redis/redis-4.0.14
  6. Type=forking
  7. ExecStart=/opt/redis/redis-4.0.14/src/redis-server /opt/redis/redis-4.0.14/redis.conf
  8. ExecStop=/opt/redis/redis-4.0.14/src/redis-cli -h 127.0.0.1 -p 40004 shutdown
  9. [Install]
  10. WantedBy=multi-user.target

再开放端口给外界访问

  1. iptables -I INPUT 1 -p tcp --dport 40004 -j ACCEPT

最后启动, 外界访问测试ok (若出现问题, 查看状态, 然后跟着提示走吧)
systemctl start redis
image.png

补充:
1.部署服务器时redis的操作步骤

  1. 1.下载redis-4.0.10的源码
  2. 2.把redis解压(`tar -xzvf redis-xxx`)到opt目录下
  3. 3.进入redis文件目录执行make指令编译
  4. 4.修改redis.conf
  5. a.增加内网地址绑定:bind xxxx
  6. b.改为守护线程方式启动:daemonize yes
  7. 5.配置redis.service指令
  8. [Unit]
  9. Description=Redis
  10. After=network.target
  11. [Service]
  12. WorkingDirectory=/opt/redis-4.0.10
  13. Type=forking
  14. PIDFile=/var/run/redis_6379.pid
  15. ExecStart=/opt/redis-4.0.10/src/redis-server /opt/redis-4.0.10/redis.conf
  16. ExecStop=/opt/redis-4.0.10/src/redis-cli shutdown
  17. [Install]
  18. WantedBy=multi-user.target

2.当redis部署在linux服务器上时的连接配置
第一步: 先通过SSH连接ECS
image.png
第二步: 再通过ECS在内部连接redis
image.png


MAVEN

参考: https://blog.csdn.net/Michael_HM/article/details/79755019
1.在opt下建maven, 并将安装包复制过去解压 tar-zxvf apa…
image.png
2.改环境变量

  1. vi /etc/profile
  2. #maven
  3. MAVEN_HOME=/opt/maven/apache-maven-3.6.1
  4. export MAVEN_HOME
  5. export PATH=${PATH}:${MAVEN_HOME}/bin
  6. 然后保存退出 esc :wq
  7. mvn -v测试是否配置成功即可

GIT

参考: https://www.centos.bz/2018/03/centos7%E6%90%AD%E5%BB%BAgit%E5%8F%8A%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8/

  1. 查看现有安装
  2. rpm -qa|grep git
  3. 如果有就卸载
  4. rpm -e --nodeps git
  5. 然后再安装
  6. 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包

  1. sudo yum update

2.安装依赖

  1. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源

  1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker-ce

  1. sudo yum install docker-ce

5.启动并加入开机启动

  1. sudo systemctl start docker
  2. sudo systemctl enable docker

6.查看是否安装成功

  1. docker version

有client和server两部分即代表安装成功!
image.png
7.配置国内ustc镜像源
通过二进制安装的docker没有daemon.json文件, 直接按照默认路径新建一个文件就行了

  1. vi /etc/docker/daemon.json
  2. {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}
  3. 然后重启服务搞定
  4. systemctl restart docker

daemon.json
image.png


RABBITMQ

vhost作用: 参考 https://www.cnblogs.com/hongjh/p/7644718.html
作为rabbitmq的命名空间,vhost中包含许多exchange,queue,bings,vhost是rabbitmq分配权限的最小细粒度,不同命名空间的资源不能相互访问;
一个broker可以设置多个vhost, 用于不同用户的权限分离

  1. 1.安装Erlang(安装到/opt/erlang目录下):
  2. i.安装依赖:
  3. yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel socat unixODBC-devel
  4. ii.下载opt_src_21.0源码(可以通过下载方式也可以自己去网上下)并解压
  5. (可选)wget http://erlang.org/download/otp_src_21.0.tar.gz
  6. tar -zxvf otp_src_21.0.tar
  7. iii.进入otp_src_21.0目录,预安装:
  8. ./configure --prefix=/opt/erlang
  9. iv.进行编译和安装: make install
  10. v.执行指令:erl看是否安装Erlang成功
  11. vi.如果erl提示找不到指令,执行:
  12. ln -s /opt/erlang/bin/erl /usr/bin/erl
  13. 2.安装rabbitmq:
  14. i.rpm -ivvh --nodeps rabbitmq-server-3.7.7-1.el7.noarch.rpm
  15. ii.启用管理插件:
  16. rabbitmq-plugins enable rabbitmq_management
  17. iii.修改配置文件(如果没有就创建):/etc/rabbitmq/rabbitmq.conf
  18. management.listener.port = 30005
  19. loopback_users.guest = false
  20. loopback_users.oms = false
  21. heartbeat = 600
  22. 3.错误排查
  23. i.启动报Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces
  24. chown rabbitmq:rabbitmq .erlang.cookie
  25. chmod 400 .erlang.cookie
  26. 补充:
  27. 启动:service rabbitmq-server start
  28. 状态:service rabbitmq-server status
  29. 停止:rabbitmqctl stop
  30. rabbitmq的vhost与用户管理
  31. 参考:
  32. https://blog.csdn.net/leisure_life/article/details/78707338
  33. https://blog.csdn.net/vbirdbest/article/details/78702685
  34. 命令:
  35. 1 rabbitmqctl add_user Username Password //添加用户
  36. 2.1 rabbitmqctl set_user_tags Username administrator//设置用户角色,#Tags 可以是:administrator, monitoring, management
  37. 2.2 rabbitmqctl set_permissions -p / Username ".*" ".*" ".*"
  38. rabbitmqctl delete_user username //删除用户
  39. rabbimqctl change_password username newpassword //改密码
  40. 3 rabbitmqctl add_vhost vhost_one //添加虚拟机
  41. rabbitmqctl delete_vhost vhost_one //删除虚拟机
  42. rabbitmqctl list_vhosts //查看虚拟机列表
  43. 4 rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*" //设置用户虚拟机访问权限
  44. 步骤:
  45. 1.创建用户以及密码 oms/oms888, consumer/oms888
  46. 2.给用户设置角色以及权限
  47. 3.添加虚拟机 oms
  48. 4.给用户设置虚拟机访问权限