linux服务器部署环境(阿里云 centos7.4 64位+ jdk+tomcat+mysql安装)

时间:2021-05-25 18:17:58

1.1 准备阶段
1、修改 vim 让文本编辑器显示行号:vim /etc/vimrc
在第一行插入:set number 然后:wq保存
2 、修改 ssh 端口 22:vim /etc/ssh/sshd_config
第17行 把 #Port 22 改为 你想要的端口
3 、修改root 密码:passwd 输入密码 ,如果非root 先切换

1.2 安装 jdk
yum list installed |grep java 查看是否安装了jdk
yum -y list java* 查看 yum库里有哪些版本可以安装
yum -y install java-1.8.0-openjdk* 安装1.8的 jdk

1.3 安装tomcat
1、cd /home
http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz 网上下载
tar xvzf apache-tomcat-8.5.16.tar.gz 解压
mv apache-tomcat-8.5.16.tar.gz tomcat8 改名字
chmod -R 777 tomcat8 增加操作权限

    修改tomcat端口 和编码:vi conf/server.xml

       <Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000" URIEncoding="UTF-8"  redirectPort="8443" />
修改tomcat启动参数,主要是调大内存:vi /home/tomcat8/bin/catalina.sh 第 283行 (tomcat8)
      283 # ----- Execute The Requested Command -----------------------------------------
  284  JAVA_OPTS='-server -Xms2048m -Xmx2048m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=512m'

   cd  tomcat8/bin
    ./startup.sh 启动
     发现启动好慢, 需要2分钟以上***************************启动慢****************
     网上说是因为系统算随机数的策略引起的,解决方案是调整大小
         yum install rng-tools
         systemctl start rngd

        cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
        vim /etc/systemd/system/rngd.service

        修改其中ExcStart为:ExecStart=/sbin/rngd -f -r /dev/urandom
        保存后重置服务
        systemctl daemon-reload
        systemctl restart rngd
        重启tomcat 发现启动非常快

        设置tomcat 开机启动:vi /etc/rc.d/rc.local 
        增加1行:/home/zms/tomcat8/bin/startup.sh start

    然后设置 rc.local文件的执行权:cd /etc/rc.d
    chmod +x rc.local 或者  chmod  777 rc.local

    重启服务器 reboot 开机 tomcat 能自己启动了
    如果还不能启动,那么操作如下
    **************无法自动启动********************************
      vim /etc/profile
      在最后面加入
     JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64 
     (不同版本位置不同 cd /etc/alternatives 然后 ls -l 就能看到
      比如 java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64)
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      然后:source /etc/profile

1.4 安装 Mysql 5.7

3.1 下载mysql源安装包
             shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
          3.2 安装mysql源
            shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

          3.3 验证源安装是否成功
            yum repolist enabled | grep "mysql.*-community.*"

          3.4  设置默认需要安装的mysql版本(如果安装5.7可以忽略本步骤)
            可以修改vim /etc/yum.repos.d/mysql-community.repo源,
            改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。
            然后再将5.6源的enabled=0改成enabled=1即可。

          3.5  安装
             yum install mysql-community-server 

           3.6 启动 mysql
             systemctl start mysqld
              #停止systemctl stop mysqld

           3.7 查看状态 
               systemctl status mysqld
           3.8 设置开机启动 
                systemctl enable mysqld
                systemctl daemon-reload


            3.9 修改root本地登录密码 
                   mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。(有时候生成的密码是特殊字符,mysql -uroot -p 会出问题,比如生成的密码 sX;qQZ.L;6Ml  
                   那就用转义 sX\;qQZ.L\;6Ml 即可)

shell>grep 'temporary password' /var/log/mysqld.log
2017-05-23T04:53:37.967825Z 1 [Note] A temporary password is generated for root@localhost: wztxYpby+2Gr

然后登录mysql进行修改: 注意 密码有策略 大小写数字和特殊字符 否则报错
shell> mysql -uroot -pwztxYpby+2Gr(可能需要重启先,因为可能会报
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)  ) 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ShangLi@2017';
3.10 增加远程登录用
#mysql -uroot -pscLRK@DBadmin2017'
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lrkADMINdb@2017' WITH GRANT OPTION;    

增加开发人员使用账号

GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY 'ShangLi@2017' WITH GRANT OPTION;

3.11 配置编码和优化配置  `vim /etc/my.cnf` 把下面的复制 覆盖 my.cnf
[client]        
port=3306
default-character-set=utf8

[mysqld]
port=3306
character_set_server=utf8
init_connect='SET NAMES utf8'
collation-server=utf8_general_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#优化参数
#设置最大连接数 默认500
max_connections=1024
#临时表分配的内存 默认16M
tmp_table_size=200M
#定义了用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变 ,默认16M
max_heap_table_size=500M
#一个事务,在没有提交的时候,产生的日志,记录到Cache中;等到事务提交需要提交的时候,则把日志持久化到磁盘。默认binlog_cache_size大小32K
binlog_cache_size = 1M
#事务隔离级别 默认 REPEATABLE-READ 总共4种 READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction-isolation=REPEATABLE-READ
#数据库字段名名是否区分大小写 0不区分 1 区分
lower_case_table_names = 1
#默认mysql对很多联合查询会报警,可以修改sql_mode sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
3.12重启服务器 用新端口链接 ssh  用新密码链接数据库

1.5、调用系统服务自动备份数据库

操作步骤

  1. 确认crontab是否安装:

     执行 crontab 命令如果报 command not found,就表明没有安装

  2. 安装 crontab

      执行 yum install -y vixie-cron

  3. 确认是否安装成功:

     执行 crontab -l

  4. 看是否设置了开机自动启动
 systemctl is-enabled crond.service
 如果没有开机自启  则运行
    5. 启动crontab
       service crond start

  6查看状态
  service crond status

2 建立 文件夹

     /home/mysql_dump
     /home/mysql_dump/data

3 cd /home/mysql_dump touch mysql_back.sh
vi mysql_back.sh内容为:

  DB_NAME="数据库名"
     DB_USER="root"
     DB_PASS="数据库密码"
     BIN_DIR="/usr/bin"
     BCK_DIR="/home/mysql_dump/data"
     DATE=`date "+%Y-%m-%d"`
     mkdir -p $BCK_DIR
    $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -E -R --triggers  $DB_NAME > $BCK_DIR/$DB_NAME.dump_$DATE.sql

配置好后
先手工执行 mysql_back.sh 看能否备份
如果成功, 下一步 继续让计算机 自动备份

4 设置 定时任务

 root用户登录

crontab -e

输入

分钟/小时/日/月/周 *表示所有

如果每天凌晨 1:59执行 就

 59 01 * * *  /home/mysql_dump/mysql_back.sh  

5 如果失败呢 如何调试?
1 手工执行 /home/mysql_dump/mysql_back.sh 检查错误
2 如果1成功,则说明脚本没问题
可以crontab -e 把时间设置为下一分钟
然后再打开一个终端 查看 日志 tail -f /var/log/cron

1.6 安装redis

    5.1   下载-- 官网下载  
 cd /home
 wget http://download.redis.io/releases/redis-4.0.0.tar.gz
     5.2 解压

         tar xzf redis-4.0.0.tar.gz

         文件夹改名字为redis
          mv redis-4.0.0 redis

     5.3  cd redis   然后 make

      5.4 启动
        cd src
        ./redis-server &    加&是让redis在后台运行


      5.5  再打开一个终端
        cd /home/zms/redis/src
        ./redis-cli

      5.6 客户端链接上了
           设置一个值  name=zms
         set name zms
          获取一个值 name 将显示 zms
        get name


      5.7 设置密码和端口
         cd /home/zms/redis/
         vi redis.conf
         大概 500行
          # requirepass foobared  改为  requirepass 123456

            // 使用密码后,  redis-cli链接后, auth 密码 , 密码对的话 会显示ok 

         Port 6379 改为 11111 //大概92行



      5.8  重启 redis
         ./src/redis-cli
         shutdown
         ./src/redis-server

      5.9  开机自动启动   
        vi /etc/rc.d/rc.local 
        增加一行
       /home/zms/redis/src/redis-server  /home/zms/redis/redis.conf  //因为在redis.conf修改了端口和密码,所以这里指定使用这个conf文件启动
        然后
         chmod 777 /etc/rc.d/rc.local

     5.10  程序链接不上redis 解决

      redis默认只能localhost登录,所以需要开启远程登录。解决方法如下:

      在redis的配置文件redis.conf中,找到bind localhost注释掉。
        或者  改成bind 0.0.0.0


      本地连接 redis-cli -p 端口(如果是6379就不需要 -p 6379)
      远程连接  redis-cli -h 192.168.1.103 -p 端口

       远程链接如果提示 在保护环境下的话,要么设置密码, 要么修改redis.conf 把protected-mode 由 yes改为 no