linux中經常使用服務的安裝


安裝環境:centos7.5javascript

配置離線yum源
參考:https://blog.csdn.net/mayh554024289/article/details/54236336
vi /etc/yum.conf
將 keepcache=0 改成 keepcache=1, 開啓緩存功能
緩存的包存放在
cd /var/cache/yum/***/packages
利用緩存的包上傳到打包環境機器,方便yum安裝php

配置本地yum源
mkdir -p /mnt/dvd1 /mnt/iso
DVD上傳到/mnt/iso
mount -o loop /mnt/iso/CentOS-7-x86_64-Everything-1804.iso /mnt/dvd1
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak/
生成yum源
touch Centos7-local.repo
[Centos7-local]
name=CentOS-\$releasever - Media
baseurl=file:///mnt/dvd1
gpgcheck=0
enabled=1css

epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repohtml

yum clean all
yum makecache java


安裝jdk1.8
參考:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html
下載到
mkdir /usr/java
解壓
tar zxvf
設置環境變量
vim /etc/profilenode

JAVA_HOME=/usr/java/jdk1.8.0_181
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib:$CLASSPATH
export JAVA_HOME
export PATH
export CLASSPATHpython

source /etc/profile 變量當即生效
Java -version 查看版本信息mysql


安裝tomcat 8.5
參考:https://blog.csdn.net/suyebiubiu/article/details/78585789
安裝包放在
mkdir /usr/tomcat
解壓
tar -zxvf
啓動
/usr/tomcat/apache-tomcat-8.../bin
./starup.sh
防火牆關閉或者開啓端口訪問
systemclt stop firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
設置端口
vi /usr/tomcat/apache-tomcat-8.5.16/conf/server.xml
遊覽器訪問測試linux

安裝配置nginx
yum安裝包下載地址:http://nginx.org/packages/nginx

配置環境
yum -y install gcc
yum -y install pcre-devel
yum install -y zlib-devel
yum install -y openssl-devel
上傳nginx-1.2.9.tar.gz至
mkdir /usr/nginx
tar zxf nginx-1.2.9.tar.gz
cd nginx-1.2.9
./configure --prefix=/usr/nginx
make && make install
配置文件,能夠修改端口,配置打包環境
cd /usr/nginx/conf
vim nginx.conf
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
server {
listen 88 default_server;
root /package;
}
啓動nginx
cd /usr/nginx/sbin
./nginx
中止和從新加載配置文件
./nginx -s stop
./nginx -s quit
./nginx -s reload

 

 

安裝mysql
yum安裝包下載地址:http://repo.mysql.com/
參考:https://www.cnblogs.com/wsl222000/p/5445768.html


上傳mysql包至mkdir /package下
yum install createrepo
createrepo . 建立yum倉庫連接

配置mysql源
cd /etc/yum.repos.d
touch mysql.repo
[mysql]
name=mysql
baseurl=http://192.168.1.38:88/mysql5.5
gpgcheck=0
enabled=1

yum clean all

yum install mysql-community-client mysql-community-devel mysql-community-server php-mysql
systemctl start mysqld
mysql5.7安裝完成以後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。
經過下面的方式找到root默認密碼,而後登陸mysql。
命令:grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
set password for 'root'@'localhost'=password('!QAZ2wsx');


編譯安裝mysql


編譯安裝參考:http://blog.51cto.com/13643643/2132594
https://www.cnblogs.com/colder219/p/5492513.html
https://blog.csdn.net/sssssscccccc/article/details/80919826
檢查是否本地已經安裝了mysql
rpm -qa | grep mysql
卸載之前的mysql
rpm -e --nodeps

先下載MySQL源碼,網址爲:https://dev.mysql.com/downloads/mysql/ :
在Select Operationg System中選擇Source Code;
在下面的Select OS Version選擇Generic Linux(Architecture Independent);
而後再下面的部分能夠看到Compressed TAR Archive,單擊後面的Download;
在彈出的界面中選擇最下面的No thanks, just start my download就能夠開始下載了。 


groupadd mysql
useradd -r -g mysql mysql
passwd mysql

cd /home/mysql
上傳,解壓
tar -zxvf mysql-5.7.23.tar.gz
mkdr /usr/local/boost
上傳,解壓
tar zxf boost_1_59_0.tar.gz

cmake進行生成編譯環境
cd /home/mysql/mysql-5.7.23
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定mysql數據庫安裝目錄
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //鏈接文件位置
-DSYSCONFDIR=/etc \ //指定配置文件目錄
-DSYSTEMD_PID_DIR=/usr/local/mysql \ //進程文件目錄
-DDEFAULT_CHARSET=utf8 \ //指定默認使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默認使用的字符集校對規則
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ //存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ //存儲引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //存儲引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \ //數據庫文件
-DWITH_BOOST=/usr/local/boost \ //指定Boost庫的位置,mysql5.7必須添加該參數
-DWITH_SYSTEMD=1

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

-也要帶上,若是編譯出現錯誤,請先刪除CMakeCache.txt後,再從新編譯:
rm -rf CMakeCache.txt
若是出現下面的提示就表示成功生成了編譯環境:
-- Configuring done
-- Generating done

編譯並安裝,make過程很是耗時
若是是用虛擬機作實驗,建議調整配置,添加處理器數量,make速度會快一點
make && make install

修改數據庫目錄權限
chown -R mysql:mysql /usr/local/mysql/
修改配置文件
mysql 5.7 版本和之前的有所不一樣,若是配置文件不作修改,則服務啓動失敗
vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
chown mysql:mysql /etc/my.cnf //修改配置文件的權限

設置環境變量
echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile //使寫入生效
初始化數據庫
cd /usr/local/mysql/bin/mysqld \
--initialize-insecure \ //生成初始化密碼(5.7版本纔有),實際會生成空密碼
--user=mysql \ //指定管理用戶
--basedir=/usr/local/mysql \ //指定工做目錄
--datadir=/usr/local/mysql/data //指定數據文件目錄

初始化數據庫
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
編譯安裝初始化後會是空密碼

啓動


添加成爲系統服務方便啓動
cp /home/mysql/mysql-5.7.23/scripts/mysqld.service /usr/lib/systemd/system
systemctl daemon-reload //刷新識別mysqld.service服務
systemctl enable mysqld //加入系統自啓動
systemctl start mysqld //啓動服務
檢查mysql是否啓動
ps -ef|grep mysql
yum install net-tools
netstat -anpt | grep 3306

修改數據庫密碼
vim /etc/my.cnf skip-grant-tables(設置免密碼登陸,設置完成以後要重啓systemctl restart mysqld)
mysql -u root -p
use mysql;
update mysql.user set authentication_string=password('!QAZ2wsx') where user='root';
flush privileges;
exit
免密碼登錄刪除並再重啓

安裝redis
參考:https://www.cnblogs.com/xiewenming/p/7687364.html
cd /usr/local/src/
安裝包解壓
tar zxf redis-3.2.12.tar.gz
cd redis-3.2.12
make
cd src
make install

方便管理,將Redis文件中的conf配置文件和經常使用命令移動到統一文件中
mkdir -p /usr/local/redis/etc
cp /usr/local/src/redis-4.0.2/redis.conf /usr/local/redis/etc/
cd /usr/local/src/cd redis-3.2.12/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server /usr/local/redis/bin/
啓動
cd /usr/local/redis/bin/
直接執行redis-server 啓動的Redis服務,是在前臺直接運行的
後臺運行
vi /usr/local/redis/etc/redis.conf
daemonize改成yes
再次啓動,並指定配置文件
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
本地客戶端命令鏈接
redis-cli

 

若是zabbix監控oracle,須要監控插件才能夠
監控插件安裝:http://www.cnblogs.com/ld1977/p/8011064.html

靜默安裝oracle 11g
參考:https://blog.csdn.net/JIANG123456T/article/details/77745892
機器基礎信息關閉,selinux,防火牆,沒必要要服務
vim /etc/sysconfig/selinux
SELINUX=enforcing改爲SELINUX=disabled
setenforce 0
service iptables stop
chkconfig iptables off
vim /etc/hosts
添加一行內容:IP 機器名

修改用戶的限制文件
vi /etc/security/limits.conf
在文件後增長
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
oracle           soft    stack           10240

修改內核參數,具體參數意思,請百度或參考oracle官網解釋

vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 32768 60999
fs.file-max = 185933
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 32 128
net.core.rmem_max = 124928
net.core.rmem_default = 124928
net.core.wmem_max = 124928
net.core.wmem_default = 124928
fs.aio-max-nr = 1048576
sysctl -p //使配置生效
報錯的話對應一個個查看,例如sysctl -a |grep fs.file-max,而後修改成輸出的內容

依賴包檢查安裝,總結執行依賴以下,若是出現某個包安裝失敗,則須要手動下載相關的rpm包,而後執行安裝便可
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp

rpm包檢查包、安裝包、卸載包命令
rpm -qa|grep xxx
rpm -ivh xxx.rpm
rpm -e --nodeps xxx.rpm

創建用戶,組,設置密碼
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
查看一下
id oracle
uid=501(oracle) gid=501(oinstall) 組=501(oinstall),502(dba),503(oper)

新建目錄             
mkdir -p /var/app/oracle/product/11.2.0/dbhome_1 //安裝目錄
mkdir -p /home/oracle/backup       //數據備份目錄                                
mkdir -p /home/oracle/oraInventory     //清單目錄,數據庫建立及使用過程當中的日誌目錄     
修改權限                         
chown -R oracle:oinstall /var/app
chown -R oracle:oinstall /home/oracle/backup 
chown -R oracle:oinstall /home/oracle/oraInventory
chmod -R 775 /var/app

設置環境變量(必需要設置在oracle用戶的家目錄下,能夠su - oracle進入再修改,也能夠用以下方法)
vim /home/oracle/.bash_profile
export ORACLE_BASE=/var/app
exportORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=ora11g
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
 
source /home/oracle/.bash_profile    //環境變量生效

安裝
解壓安裝包,注意切換用戶,注意安裝解壓軟件
yum install -y unzip zip
su - oracle
cd /var/app/oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

解壓後獲得database目錄,其中包含response目錄,該目錄中有三個rsp文件,用來做爲靜默安裝時的應答文件的模板。三個文件做用分別是:
db_install.rsp:安裝應答
dbca.rsp:建立數據庫應答
netca.rsp:創建監聽、本地服務名等網絡設置的應答

修改配置文件,安裝oracle軟件
複製一份模板,添加備份
cp -R /var/app/oracle/database/response /home/oracle

修改後的靜默安裝配置文件db_install.rsp,(若是oracle用戶沒有操做文件的權限,可以使用root用戶修改該文件,保存退出便可),修改相關的配置項,修改後的文件內容以下。
less /var/app/oracle/database/response/db_install.rsp |grep -v "#"|grep -v "^$"
(照着下面結果一一對應)
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=bigdata06
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/var/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/var/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/var/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //必定要設爲 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=


開始靜默安裝
cd /var/app/oracle/database
./runInstaller -silent -responseFile /var/app/oracle/database/response/db_install.rsp
查看安裝進度
tail -f cd /var/app/oracle/oraInventory/logs/installActions*log

當安裝界面出現以下信息的時候,先不要動
The installation of Oracle Database 11g was successful.
.....................
....................
As a root user, execute the following script(s):
 1. /var/app/oracle/oraInventory/orainstRoot.sh
 2. /var/app/oracle/product/11.2.0/dbhome_1/root.sh

Successfully Setup Software.

在新打開的客戶端使用root登陸的窗口中執行下面的腳本
/var/app/oracle/oraInventory/orainstRoot.sh
/var/app/oracle/product/11.2.0/dbhome_1/root.sh
執行完上面的腳本後回到安裝界面按下Enter鍵以繼續

配置oracle監聽

3.4.一、運行監聽文件
cd /var/app/oracle/database/response
netca /silent /responsefile /var/app/oracle/database/response/netca.rsp
成功運行後,在/var/app/oracle/product/11.2.0/dbhome_1/network/admin目錄下
生成sqlnet.ora和listener.ora兩個文件。

netstat -tlnp | grep 1521 命令,看到監聽器已經在1521端口
若是監聽沒有啓動,則手動啓動監聽程序。
/var/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER

配置oracle數據庫
修改建庫配置文件
 vim /var/app/oracle/database/response/dbca.rsp
GDBNAME = "ora11g.dg01"   //78行 全局數據庫的名字=SID+主機域名
SID="ora11g"   //149行 對應的實例名字(環境變量export ORACLE_SID=ora11g配置相同,不然出現錯誤)
SYSPASSWORD = "oracle"    //190行
SYSTEMPASSWORD = "oracle"   //200行
CHARACTERSET="AL32UTF8" //415行 編碼,字符集,重要!!! 建庫後通常不能更改,因此建庫前要肯定清楚
NATIONALCHARACTERSET="UTF8" //425行 編碼

建立dbca數據庫
$ORACLE_HOME/bin/dbca -silent -responseFile /var/app/oracle/database/response/dbca.rsp

啓動數據庫
進入oracle SQL命令行
sqlplus / as sysdba

注意事項
需注意ORACLE_SID的問題,確認靜默dbca建庫時配置(SID="ora11g"//149行 )
與環境變量export ORACLE_SID=ora11g配置相同,不然出現錯誤。
錯誤提示:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/var/app/oracle/product/11.2.0/dbhome_1/dbs/initxtwl.ora'


安裝ruby(方法有待實驗)
參考:https://blog.csdn.net/zhanngle/article/details/51224934
https://www.jianshu.com/p/38afa54a1093
菜鳥教程學習:http://www.runoob.com/ruby/ruby-installation-unix.html

安裝rvm
參考:https://ruby-china.org/wiki/install_ruby_guide
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
失敗多是須要導入加密算法
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
正確安裝rvm之後,當前命令窗口激活rvm:
source /etc/profile.d/rvm.sh
rvm -v

開始安裝
cd /usr/local/
tar -xvzf ruby-2.5.1.tgz
cd ruby-2.5.1
如今,配置並編譯源代碼,以下所示:
./configure
make
make install
驗證:
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
gem -v
2.7.6
安裝rails
參考:https://www.cnblogs.com/lazyboy1/p/4962955.html

查看gem源
gem source
刪除源,
gem sources -r
添加(不安裝openssl也可,我是用的http,不是https)
gem sources -a http://gems.ruby-china.com
安裝
gem install rails
查看是否安裝成功
rails -v

salt
yum安裝包下載地址:http://repo.saltstack.com/yum/redhat/
緩存salt的源碼包參考:https://repo.saltstack.com/2016.11.html#rhel
salt中文學習
http://www.saltstack.cn/projects/cssug-kb/wiki/Dive-into-saltstack
salt
安裝 yum -y install salt-master
修改master/etc/salt/master
找到如下配置 
#file_roots:
#  base:
#    - /srv/salt

#pillar_roots:
#  base:
#    - /srv/pillar

將註釋去掉,注意base前兩個空格及 - /srv/前四個空格
啓動服務 service salt-master start
安裝minion端
修改minion端/etc/salt/mininon
vim /etc/salt/minion
#master: server 修改成
master: 192.168.0.27
#id
修改成
id: 192.168.0.27
啓動服務
測試通訊salt "*" test.ping
執行具體命令 salt "*" cmd.run "iptables -nL"

從新添加認證以下
先關閉minion端服務service salt-minion stop
請看minion端密鑰 /etc/salt/pki/minion
修改配置文件 /etc/salt/minion
service salt-minion start
master端查看全部受權未受權的節點salt-key
master端接受密鑰salt-key -A
master端查看salt-key -L

salt-ssh
參考: https://www.cnblogs.com/kevingrace/p/6379141.html

 

zabbix
yum安裝包下載地址:https://repo.zabbix.com/zabbix/
緩存zabbix包:https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=7&db=MySQL

安裝參考:https://www.cnblogs.com/rnckty/p/7650978.html
官方參考: https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=7&db=MySQL
https://www.zabbix.com/documentation/3.4/manual/installation/install#installing_frontend

yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel gcc curl-devel

製做zabbix agent rpm包
https://www.jianshu.com/p/4c852b195b10

使用ansible批量部署zabbix agent端
參考:http://blog.51cto.com/3381847248/2053858

客戶端:systemctl status zabbix_agentd
服務端:systemctl status zabbix-server

jenkins
Jenkins服務安裝配置
1.Jenkins環境
Java -version 查看版本信息

touch jenkins.repo
[jenkins]
name=jenkins
baseurl=http://192.168.1.32:88/jenkins/
gpgcheck=0
enabled=1
jenkins安裝 yum install jenkins

jenkins配置文件地址/etc/sysconfig/jenkins
修改配置
JENKINS_USER="root"
JENKINS_PORT="81"
JENKINS_LISTEN_ADDRESS="192.168.1.36"

把plugins中的全部插件上傳到/var/lib/jenkins/plugins下

啓動jenkins /etc/init.d/jenkins start
若是Jenkins沒法啓動,檢查/etc/init.d/jenkins文件裏的本地java路徑
在candidates中添加/usr/java/jdk1.8.0_181/bin/java
再次嘗試從新啓動(centos7中可能會出現warning錯誤,只須要根據提示systemctl daemon-reload,再啓動jenkin就能夠了)

網頁登錄jenkins(密碼在/var/lib/jenkins/secrets/initialAdminPassword)
配置全局安全配置中 代理(TCP port for JNLP agents) 設置隨機選取

安裝maven 安裝包上傳至/opt/soft下
tar vxf apache-maven-3.3.9-bin.tar.gz
添加環境變量
export MAVEN_HOME=/opt/soft/apache-maven-3.3.9
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

source /etc/profile
mvn -version

安裝git yum install git

進入jenkins頁面
在系統配置裏面gitlab勾號去掉
配置全局工具配置

maven configuration
settings file in filesystem
/opt/soft/apache-maven-3.3.9/conf/settings.xml
global settings file on filesystem
/opt/soft/apache-maven-3.3.9/conf/settings.xml

JDK(去掉自動安裝)
別名 jdk1.8
JAVA_HOME /usr/java/jdk1.8.0_181

Git
Name git1.7.1
Path to Git executable /usr/bin/git

Maven(去掉自動安裝)
Name maven3.3.9
MAVEN_HOME /opt/soft/apache-maven-3.3.9

 

python
yum -y groupinstall 'Development Tools'
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 
yum -y install libffi-devel
下載 Python 源文件
$ wget --no-check-certificate https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
# 注意:wget獲取https的時候要加上:--no-check-certificate
tar -xzvf Python-3.7.0.tgz # 解壓縮包
cd Python-3.7.0 # 進入解壓目錄
./configure
make
make install
若是安裝有錯誤須要從新編譯,要先make clean,而後再從新編譯

通常成功安裝完成python3,就會安裝pip,若是沒有,那就從新安裝python
pip
參考:https://blog.csdn.net/onlyellow/article/details/78226531
從pip官網 https://pypi.python.org/pypi/pip 下載pip的源代碼,而後解壓源碼包,再進行安裝pip軟件:

# tar -zxvf pip-9.0.1.tar.gz
# cd pip-9.0.1
解壓完成進行安裝pip
# python setup.py install
安裝提示報錯,少setuptools
從setuptools官網 https://pypi.python.org/pypi/setuptools下載setuptools源碼包,並解壓:
# unzip setuptools-38.2.3.zip
# cd setuptools-38.2.3
解壓完成進行安裝setuptools
# python setup.py install
再次進入到pip的解壓目錄下,再次安裝pip,執行以下命令:
python setup.py install

 

ansible
https://blog.csdn.net/zhou75771217/article/details/82146870
https://blog.csdn.net/jssg_tzw/article/details/69388136
http://blog.51cto.com/75368/2141015?source=dra
自制yum源離線安裝:https://blog.csdn.net/wwloo2008/article/details/79631902?utm_source=blogxgwz0

 

SVN
教程:https://www.cnblogs.com/Dev0ps/p/8342114.html
安裝:https://blog.csdn.net/crossangles_2017/article/details/78553266

測試客戶端訪問
安裝TortoiseSVN,一路next便可。
桌面右鍵SVN Checkout,填入地址svn://ip地址:9000/mynote
輸入用戶名和密碼,輸入便可。‘

 

docker
教程:https://baijiahao.baidu.com/s?id=1591887487395526427&wfr=spider&for=pc
安裝一些必要的系統工具:
yum install -y yum-utils device-mapper-persistent-data lvm2
添加軟件源信息:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝 Docker-ce:
yum -y install docker-ce

container-selinux >= 2.9 這個報錯是container-selinux版本低或者是沒安裝的緣由
yum 安裝container-selinux 通常的yum源又找不到這個包
須要安裝epel源 才能yum安裝container-selinux
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
yum install epel-release   #阿里雲上的epel源
更新yum
yum makecache fast
而後yum install container-selinux

啓動 Docker 後臺服務
sudo systemctl start docker
測試運行 hello-world
docker run hello-world

拉取docker鏡像
docker pull image_name
查看宿主機上的鏡像,Docker鏡像保存在/var/lib/docker目錄下:
docker images
刪除鏡像
docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30
查看當前有哪些容器正在運行
docker ps
查看全部容器
docker ps -a

安裝Compose:
curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version

docker部署nginx
參考:https://www.cnblogs.com/wwzyy/p/8337965.html

k8s進行docker管理
參考:http://www.cnblogs.com/kevingrace/p/5575666.html
https://www.cnblogs.com/onlyworld/p/5116622.html

yum install -y kubernetes,若是報錯
卸載docker-ce
一、查看安裝過的docker:yum list installed | grep docker
二、卸載docker:yum remove -y docker-ce.x86_64 0:18.03.0.ce-1.el7.centos
三、刪除容器鏡像:rm -rf /var/lib/docker
再次安裝kubernetes,安裝成功,並且會自動安裝docker

 


mysql主從
https://www.cnblogs.com/Dev0ps/p/7839041.html

主庫設置
修改主庫my.cnf,主要是設置個不同的id,以及要同步的數據庫的名字。
vim /etc/my.cnf
在[mysqld]添加以下內容:
log-bin = binlog //開啓log-bin日誌記錄
binlog-do-db = mydata //mydata同步的數據庫名字
server-id = 1 //從服務器改成非1

2)重啓主庫
systemctl restart mysqld
3)登陸主庫
mysql -u root -p
4)賦予從庫權限帳號,容許用戶在主庫上讀取日誌,命令以下:
mysql> grant replication slave on *.* to 'shinyinfo'@'192.168.128.%'identified by '!QAZ2wsx'; //容許192.168.128.0這個網絡登陸
mysql> flush privileges; //刷新
systemctl restart mysqld //必定要重啓才生效
從庫服務器測試鏈接:
mysql -u shinyinfo -p -h 192.168.128.157
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
#鎖主庫表
mysql> flush tables with read lock;

#查看File和Postion日誌點
mysql> show master status;
+---------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000003 | 106 | mydata | |
+---------------+----------+--------------+------------------+

導出mydata庫:
mysqldump --master-data -uroot -p123 mydata > mydata.sql
數據不大經過ssh推送到從庫:
scp mydata.sql root@192.168.128.158:/root

從庫設置
建立mysqldata數據庫:
mysql> create database mydata;
導入mydata.sql數據:
[root@localhost ~]# mysql -u root -p !QAZ2wsx mydata < /root/mydata.sql
修改/etc/my.cnf
註釋從庫日誌記錄若是還做爲其餘從服務要開啓
#log-bin=mysql-bin
設置爲2 只要不和主庫同樣就行
server-id = 2
重啓服務:
systemctl restart mysqld
在從庫上設置同步,這步也是最重要的。
設置鏈接MASTER MASTER_LOG_FILE爲主庫的File,MASTER_LOG_POS爲主庫的Position,命令以下所示:
注意此時必定要再次查看主庫的File和Position已如今顯示的爲準否則同步失敗。
mysql>stop slave;
mysql> change master to master_host='192.168.128.157',master_user='admin',master_password='redhat',master_log_file='binlog.000003',master_log_pos=331;
mysql>start slave;
查看從庫的status狀態:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.128.157
Master_User: admin
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: binlog.000003
Read_Master_Log_Pos: 331
Relay_Log_File: localhost-relay-bin.000002
Relay_Log_Pos: 248
Relay_Master_Log_File: binlog.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

#Slave_IO_Running:Yes(網絡正常);Slave_SQL_Running:Yes(表結構正常),根據前面的MySQL主從同步的原理,這兩個部分
必須都爲YES(正常)才表示同步是成功的。


測試
主庫解鎖:
mysql>unlock tables;

主庫上建立新表:
mysql> use mydata;
mysql> create table yy ( username varchar(20) not null);
從庫上查看:

 

 

nginx反向代理,負載均衡
nginx1:192.168.68.41
tomcat1:192.168.68.43
tomcat2:192.168.68.45
配置nginx:
vim /etc/nginx/conf.d/default.conf
#負責壓縮數據流
gzip on;
gzip_min_length 1000;
gzip_types text/plain text/css application/x-javascript;

#設定負載均衡的服務器列表
#weigth參數表示權值,權值越高被分配到的概率越大
upstream hello{
server 192.168.68.43:8080 weight=1;
server 192.168.68.45:8080 weight=1;
}

server {
#偵聽的80端口
listen 80;
server_name localhost;
#設定查看Nginx狀態的地址
location /nginxstatus{
stub_status on;
access_log on;
auth_basic "nginxstatus";
auth_basic_user_file htpasswd;
}
#匹配以jsp結尾的,tomcat的網頁文件是以jsp結尾
location / {
index index.jsp;
proxy_pass http://hello; #在這裏設置一個代理,和upstream的名字同樣
#如下是一些反向代理的配置可刪除
proxy_redirect off;
#後端的Web服務器能夠經過X-Forwarded-For獲取用戶真實IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #容許客戶端請求的最大單文件字節數
client_body_buffer_size 128k; #緩衝區代理緩衝用戶端請求的最大字節數
proxy_connect_timeout 300; #nginx跟後端服務器鏈接超時時間(代理鏈接超時)
proxy_send_timeout 300; #後端服務器數據回傳時間(代理髮送超時)
proxy_read_timeout 300; #鏈接成功後,後端服務器響應時間(代理接收超時)
proxy_buffer_size 4k; #設置代理服務器(nginx)保存用戶頭信息的緩衝區大小
proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在32k如下的話,這樣設置
proxy_busy_buffers_size 64k; #高負荷下緩衝大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #設定緩存文件夾大小,大於這個值,將從upstream服務器傳
}
}

啓動:nginx

啓動nginx後,訪問http://192.168.68.41/test/
會被導航到http://192.168.68.43:8080/test/ 和http://192.168.68.45:8080/test/
從而實現了負載均衡和避免單點故障。

nginx端口轉發

參考:https://www.cnblogs.com/zhaoyingjie/p/7248678.html

 

系統初始化制定參考:https://blog.csdn.net/chengxuyuanyonghu/article/details/47283399 https://blog.csdn.net/yangbodong22011/article/details/54175193定義配置NTP函數function ntp(){/usr/bin/yum -y install ntp#修改配置文件echo '' >/etc/ntp.confcat >>/etc/ntp.conf << EOFdriftfile /var/lib/ntp/driftrestrict default nomodify notrap nopeer noqueryrestrict 127.0.0.1 restrict ::1server 192.168.2.136includefile /etc/ntp/crypto/pwkeys /etc/ntp/keysdisable monitorEOF#同步hwclockcat >>/etc/sysconfig/ntpd<<EOF#Command line options for ntpdSYNC_HWCLOCK=yesOPTIONS="-g"EOF#使用ntpdate命令校驗時間/usr/sbin/ntpdate 192.168.2.136 && /usr/sbin/hwclock -w/usr/bin/systemctl stop chronyd &> /dev/null/usr/bin/systemctl disable chronyd &> /dev/null/usr/bin/systemctl start ntpd &> /dev/null/usr/bin/systemctl enable ntpd &> /dev/null}

相關文章
相關標籤/搜索