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)
...

內網穿透

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章