查看系統是否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的任何操作系統或平臺上。
- 要下載並運行Jenkins的WAR文件版本:
- 將最新的穩定Jenkins WAR文件下載 到計算機上的相應目錄中。
- 打開下載目錄的終端/命令提示符窗口。
- 運行命令java -jar jenkins.war。
- 瀏覽http://localhost:8083並等待Unlock Jenkins頁面出現。
- 繼續下面的安裝後設置嚮導。
- 下載速度慢可以先下載的到本地在上傳
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
安裝前最好可以設置一個速度較快的插件鏡像
- 安裝後修改插件鏡像:系統管理 - 插件管理 - 高級 - 升級站點
- Jenkins插件下載失敗兩種處理辦法
- 鏡像地址查詢 http://mirrors.jenkins-ci.org/status.html
插件
- 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
遠程部署
- Jenkins部署到遠程(Linux服務器)
- 安裝插件publish-over-ssh
- CentOS啓用ssh密鑰登錄
- 遠程發佈時遇到環境變量問題的解放方法:建issue.sh文件,加載環境變量
#!/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
查看端口是否被佔用
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)
...