• linux中常用服务的安装



    安装环境: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
    }

  • 相关阅读:
    [Effective JavaScript 笔记] 第7条:视字符串为16位的代码单元序列
    [翻译]CSS模块-未来的编码方式
    [Effective JavaScript 笔记] 第6条:了解分号插入的局限
    [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
    [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
    [翻译]理解CSS模块方法
    [翻译]纠正PostCSS的4大认识误区
    [翻译]Gulp.js简介
    [Effective JavaScript笔记]第3条:当心隐式的强制转换
    [翻译]在gulp构建工具中使用PostCSS
  • 原文地址:https://www.cnblogs.com/lndr/p/10382225.html
Copyright © 2020-2023  润新知