Centos7 安装微服务环境 2.0

查看系统是否64位

uname -a

添加用户

useradd -d /usr/www -m www

linux下将目录授权给其他用户的步骤

1. 更改目录所有者命令

chown -R 用户名称 目录名称

chown -R www /usr/www

2. 更改目录权限命令

chmod -R 755 目录名称

chmod -R 755 /usr/www

root用户修改其他用户的密码

在root用户下,运行passwd 来重设的密码

passwd www

chmod u+x somefile 只授予这个文件的所属者执行的权限

正确、安全地停止SpringBoot应用服务
给普通用户加sudo权限

1. 切换到root用户下,运行visudo命令,visudo命令是用来编辑修改/etc/sudoers配置文件

visudo

2. 在/etc/sudoers文件中找到下面一行

root  ALL=(ALL)    ALL

给www添加sudo权限,再添加一行,使用时无需密码

www    ALL=(ALL)       NOPASSWD: ALL
# 禁止用户www使用ssh登录
chsh -s /sbin/nologin www
# 这样过一段时间切换用户的时候会出现
linux This account is currently not available
# 所以不能这样操作

## 切换用户
su www

安装JDK1.8

安装maven

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

# 解压到opt目录
tar -xvzf /home/downloads/apache-maven-3.5.4-bin.tar.gz -C /opt

# 编辑系统配置文件 /etc/profile   
#set Maven environment
export MAVEN_HOME=/opt/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH

# 重新加载系统配置文件
source /etc/profile

/opt/apache-maven-3.5.4/conf/settings.xml

Git

yum install git -y

Jenkins

WAR文件安装

  • Jenkins的Web应用程序ARchive(WAR)文件版本可以安装在支持Java的任何操作系统或平台上。
  1. 要下载并运行Jenkins的WAR文件版本:
  1. 最新的稳定Jenkins WAR文件下载 到计算机上的相应目录中。
  1. 打开下载目录的终端/命令提示符窗口。
  1. 运行命令java -jar jenkins.war。
  1. 浏览http://localhost:8083并等待Unlock Jenkins页面出现。
  1. 继续下面的安装后设置向导。
  • 下载速度慢可以先下载的到本地在上传
scp jenkins.war [email protected]:/usr/www/downloads
  • 启动Jenkins
java -jar jenkins.war --httpPort=8083 &

# 打开防火墙
firewall-cmd --zone=public --add-port=8083/tcp --permanent
firewall-cmd --reload

修改插件升级地址为清华镜像

1、先保存初始密码
2、停止Jenkins
3、打开文件 .jenkins/hudson.model.UpdateCenter.xml,替换为清华镜像

<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>

4、启动Jenkins

如果启动后页面一直卡在等待页面,请尝试以下操作

# 在jenkins.war的同级目录下有.jenkins文件夹,赋权限
chown -R www .jenkins/
chmod -R 755 .jenkins/

# 删除.jenkins文件夹

# 重新启动Jenkins

安装前最好可以设置一个速度较快的插件镜像

插件

  • Maven Integration 发布maven项目
  • Pipeline Maven Integration 在构建前下载最新代码(系统管理 全局工具配置 Pipeline Maven Configuration 勾选Trigger downstream upon result
  • publish-over-ssh

确保以下插件已安装

  • Git Pipeline for Blue Ocean

配置

Git

  • 在凭据管理中新建一个,注意凭据的类型

本地部署项目

执行sudo

# /etc/sudoers文件添加,www为启动Jenkins的用户
www  ALL=(ALL)  NOPASSWD: ALL

远程部署

#!/bin/bash

. /etc/profile

$1 $2

echo $0 $1 $2

Elasticsearch

tar -xvzf elasticsearch-7.0.0 -C /usr/local/

chown -R www /usr/local/elasticsearch-7.0.0/
chmod -R 755 /usr/local/elasticsearch-7.0.0/

Run bin/elasticsearch

# 后台启动命令 /usr/local/elasticsearch-7.0.0/bin/
# Running as a daemonedit
./bin/elasticsearch -d -p pid

# To shut down Elasticsearch, kill the process ID recorded in the pid file:
kill `cat pid`

错误解决

[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

# maxfile descriptors为最大文件描述符,设置其大于65536即可。
# 解决方法是修改/etc/security/limits.conf文件,添加“* - nofile65536 * - memlock unlimited”
# “*”表示给所有用户起作用

* - nofile 65536
* - memlock unlimited

# 查看硬限制
ulimit -Hn  
# 退出用户重新登录,使配置生效

[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

# max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,系统默认是65530,修改成262144。
# 解决方法是修改/etc/sysctl.conf配置文件,添加vm.max_map_count=262144,记得需要重启机器才起作用

vm.max_map_count=262144

Kibana

tar -xzf kibana-7.0.0-linux-x86_64.tar.gz -C /usr/local/

chown -R www /usr/local/kibana-7.0.0-linux-x86_64/
chmod -R 755 /usr/local/kibana-7.0.0-linux-x86_64/

# 启动
./bin/kibana &

firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload

Kibana使用Nginx代理验证

查看端口是否被占用

lsof -i tcp:5601

修改/etc/nginx/nginx.conf

http {
    ...

    upstream kibana_server {
        server  127.0.0.1:5601 weight=1 max_fails=3  fail_timeout=60;
    }

    upstream zipkin_server {
        server  127.0.0.1:9411 weight=1 max_fails=3  fail_timeout=60;
    }

    server {
        listen 80;
        server_name kibana的域名;
        auth_basic "Restricted Access"; # 验证
        auth_basic_user_file /etc/nginx/htpasswd.users; # 验证文件

        location / {
            proxy_pass http://kibana_server;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
         }

    }

    server {
        listen 80;
        server_name zipkin的域名;
        auth_basic "Restricted Access"; # 验证
        auth_basic_user_file /etc/nginx/htpasswd.users; # 验证文件

        location / {
            proxy_pass http://zipkin_server;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
         }

    }

}

允许外网访问

修改kibana.yml

server.host: "0.0.0.0"

Filebeat

  • tar -xzf filebeat-6.4.2-linux-x86_64.tar.gz -C /usr/local/
  • 直连Elasticsearch
  • 加载模板,如果是Logstash输出一定不能执行下面这句
./filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

filebeat.yml:elasticsearch的配置

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /usr/logs/*/hehe/haha.log

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["172.19.102.231:9200"]
  

测试启动,看到一堆日志在滚动,很可能是正常工作了

./filebeat -e -c filebeat.yml -d "publish"

转入后台运行

nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &

Redis

安装

tar xzf redis-5.0.4.tar.gz -C /usr/local/

chown -R www /usr/local/redis-5.0.4/
chmod -R 755 /usr/local/redis-5.0.4/

cd /usr/local/redis-5.0.4/
make

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

启动

进入redis-5.0.4目录

src/redis-server

设置密码(永久有效)

redis.conf中requirepass设置密码

# 启动时要指定设置密码的配置文件
./redis-server /usr/local/redis-5.0.0/redis.conf

# 查看密码
config get requirepass

设置远程访问

redis.conf

protected-mode no
daemonize yes
# bind 127.0.0.1

如果服务器是阿里云,需要在安全组的规则里设置相应的规则才行!

连接

# 本地,redis目录下
redis-cli

# 带端口
redis-cli -p 6379

# 带密码
redis-cli -a 密码

# 远程
redis-cli -h 127.0.0.1 -p 6379 -a 123456

# 先连接,再输入密码
redis-cli -h 139.196.96.220 -p 6379
auth 密码

MySQL社区版

安装指南

Yum安装

遇到问题可以先卸载之前的相关软件
检查残余

rpm -qa | grep -i mysql
# 清华大学镜像
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql80-community-release-el7-2.noarch.rpm

sudo rpm -ivh mysql80-community-release-el7-2.noarch.rpm

# 查看可安装版本
yum repolist all | grep mysql

sudo yum install mysql-community-server -y

启动Mysql

sudo systemctl start mysqld.service

# 重启
service mysqld restart

# 停止
service mysqld stop

查看Mysql状态

sudo systemctl status mysqld.service

创建用户

将’root’@‘localhost’ 创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

shell> sudo grep 'temporary password' /var/log/mysqld.log

通过使用生成的临时密码登录并为超级用户帐户设置自定义密码,必须更改root密码,不然无法操作:

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

ALTER USER 'root'@'localhost' IDENTIFIED BY 'EFWA%@1E$UHxdDFO';

创建远程访问用户

切换数据库

mysql>use mysql;

创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)

CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)

grant all on *.* to 'user1'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

链接失败

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

执行

mysql> ALTER USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

Kafka

1:下载

tar -xzf kafka_2.12-2.2.0.tgz

chown -R www /usr/local/kafka_2.12-2.2.0/
chmod -R 755 /usr/local/kafka_2.12-2.2.0/

2:启动

Kafka使用ZooKeeper,因此如果您还没有ZooKeeper服务器,则需要先启动它。您可以使用与kafka一起打包的便捷脚本来获得快速且脏的单节点ZooKeeper实例。

> bin/zookeeper-server-start.sh config/zookeeper.properties &
[2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
...

# 检查zookeeper端口
lsof -i tcp:2181

现在启动Kafka服务器:

> bin/kafka-server-start.sh config/server.properties &
[2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties)
[2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties)
...

内网穿透

发布了182 篇原创文章 · 获赞 42 · 访问量 59万+

猜你喜欢

转载自blog.csdn.net/wyyl1/article/details/89422884
今日推荐