安装环境:centos7.5

配置离线yum源
参考:https://blog.csdn.net/mayh554024289/article/details/54236336
vi /etc/yum.conf
将 keepcache=0 改为 keepcache=1, 开启缓存功能
缓存的包存放在
cd /var/cache/yum/***/packages
利用缓存的包上传到打包环境机器,方便yum安装

配置本地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=1

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

yum clean all
yum makecache

安装jdk1.8
参考:https://www.cnblogs.com/sxdcgaq8080/p/7492426.html
下载到
mkdir /usr/java
解压
tar zxvf
设置环境变量
vim /etc/profile

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 CLASSPATH

source /etc/profile 变量立即生效
Java -version 查看版本信息

安装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
游览器访问测试

安装配置nginx
yum安装包下载地址:http://nginx.org/packages/

配置环境
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.1、运行监听文件
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
1、查看安装过的docker:yum list installed | grep docker
2、卸载docker:yum remove -y docker-ce.x86_64 0:18.03.0.ce-1.el7.centos
3、删除容器镜像: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.conf
cat >>/etc/ntp.conf << EOF
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
server 192.168.2.136
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
EOF
#同步hwclock
cat >>/etc/sysconfig/ntpd<<EOF
#Command line options for ntpd
SYNC_HWCLOCK=yes
OPTIONS="-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
}

linux中常用服务的安装的更多相关文章

  1. 【转载】Linux中常用操作命令

    说明:开始学习linux系统,为了方便查看,特转载一篇Linux中常用操作命令,转载地址:http://www.cnblogs.com/laov/p/3541414.html 正文: Linux简介及 ...

  2. Linux 中如何用源代码安装软件,以及如何卸载它

    https://www.linuxidc.com/Linux/2017-12/149839.htm http://www.openssh.com/ http://www.openssh.com/por ...

  3. 转载 【Linux】Linux中常用操作命令

    [Linux]Linux中常用操作命令     https://www.cnblogs.com/laov/p/3541414.html#vim   Linux简介及Ubuntu安装 常见指令 系统管理 ...

  4. 转 Linux中常用操作命令

    http://blog.csdn.net/ljianhui/article/details/11100625 初窥Linux 之 我最常用的20条命令 玩过Linux的人都会知道,Linux中的命令的 ...

  5. Linux中常用的监控性能的命令(sar、mpstat,vmstat, iostat,)详解

    Linux中常用的监控性能的命令有: sar:能查看CPU的平均信息,还能查看指定CPU的信息.与mpstat相比,sar能查看CPU历史信息 mpstat:能查看所有CPU的平均信息,还能查看指定C ...

  6. Linux 中如何卸载已安装的软件(转载)

            Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实 ...

  7. Linux 中如何卸载已安装的软件

    Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现.与其相类似, ...

  8. 如何在Linux中轻松删除源安装的软件包?

    第1步:安装Stow 在这个例子中,我们使用的是CentOS,因此我们需要扩展的EPEL库.您可以使用以下命令安装它们:yum install epel-release然后,下面这段命令:yum in ...

  9. Linux中常用压缩打包工具

    Linux中常用压缩打包工具 压缩打包是常用的功能,在linux中目前常用的压缩工具有gzip,bzip2以及后起之秀xz.本文将介绍如下的工具常见压缩.解压缩工具以及打包工具tar. gzip2 直 ...

随机推荐

  1. 在RAC上部署OGG并配置OGG高可用

    目录 简介 环境信息 安装OGG 配置数据库 开启数据库级别日志补充 在dbdc1为OGG单独创建TNS 创建OGG管理用户及其表空间 配置OGG 设置OGG全局参数 Source端,OGG设置, 配 ...

  2. vue 表单基本 表单修饰符

    表单的基础 利用v-model进行双向数据绑定: 1.在下拉列表中,将v-model写在select中 2.单选框和复选框需要每个按钮都需要写上v-model 3.v-model在输入框中获取得是输入 ...

  3. 个人微信公众号搭建Python实现 -个人公众号搭建-总结(14.3.6)

    @ 目录 1.主要技术:Flask,requests 2.实现的主要功能 3.目录说明 4.运行方式 关于作者 1.主要技术:Flask,requests requirements.txt如下 req ...

  4. 个人微信公众号搭建Python实现 -个人公众号搭建-永久素材管理(14.3.5)

    @ 目录 1.说明 2.上传素材 3.获取素材列表 关于作者 1.说明 个人微信公众号开发的功能有限,因为很多权限没有,但支持上传永久素材,具体查看微信公众号文档 这里的请求都要将本地IP地址放到微信 ...

  5. Docker Networks 笔记

    Docker Networks Bridge NetworksThe Docker bridge driver automatically installs rules in the host mac ...

  6. 安利一波这12个IDEA插件,太香了!

    这里补充一下常用的插件, 非常值得安利一波! 1.日晒主题 Solarized Themes 推荐指数:☆☆☆☆☆ 推荐理由:日晒主题本身是为vim定制的.后来移植到ide 非常酷!配色非常耐看.  ...

  7. 如何用Python判断一个文件是否被占用?

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 今天有同学问,用os模块的access()能否判断一个文件是否被占用?直觉上,这是行不通的,因为ac ...

  8. 带你学习Python-基础知识的框架梳理

    对于编程初学者来说,在刚刚开始学习Python语言的时候,需要学习的内容有不少,比如计算机原理.网络.Web前端.后端.架构. 数据库都是必须掌握的知识点.因此初学者常常会陷入"只见树木,不 ...

  9. 使用CodeSmith编写ADO.Net三层

    说明 自本文发布日起,发现和完善了编写的CodeSmith几处代码. 故,不再直接在文章添加代码,最新代码参见GitHub https://github.com/catbiscuit/CodeSmit ...

  10. @Autowired 和@Resource区别

    二者都可以用在bean的注入时,但是@Autowired是spring提供的注解,而@Resource是javax包中的. 默认情况下,@Autowired注入规则是byType,通过类型注入:当然, ...