centos服务环境搭建

1.java环境

  1. 下载java 安装包,命令:

    1
    wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
  2. 解压

    1
    tar -zxvf jdk-17_linux-aarch64_bin.tar.gz
  3. 配置环境变量

    1
    vi  /etc/profile

    export JAVA_HOME=/opt/jdks/jdk-17.0.1
    export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin

  4. 让配置生效

    1
    source /etc/profile

2.mysql8

  1. 查看 mysql 的安装包检查是否安装mariadb,命令:

    1
    rpm -qa|grep mariadb
  2. 删除mariadb,命令:

    1
    rpm -e --nodeps mariadb-libs
  3. 下载mysql,命令:

    1
    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
  4. 解压,命令:

    1
    2
    3
    xz -dev mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

    tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar /tools
  5. 重命名:

    1
    mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8
  6. 进入mysql8,创建data文件夹

    1
    2
    cd mysql8
    mkdir data
  7. 配置mysql环境变量,打开/etc/profile添加如下

    1
    2
    3
    4
    5
    MYSQL_HOME=/opt/mysql8/bin

    PATH=$PATH:$MYSQL_HOME

    export MYSQL_HOME PATH
  8. 配置完成后重载:

    1
    source /etc/profile
  9. 创建mysql用户组和mysql用户

    1
    2
    groupadd mysql
    useradd -g mysql mysql
  10. 关联myql用户到mysql用户组中

    进入到mysql8所在目录,此例中为/opt/

    1
    2
    3
    4
    chown -R mysql:mysql mysql8
    chown -R mysql:mysql mysql8/data
    chown -R mysql mysql8
    chown -R mysql mysql8/data
  11. 更改mysql安装文件夹mysql的权限

    1
    chmod -R 755 mysql8
  12. 安装libaio依赖包

    查询是否安装libaio依赖包

    1
    yum search libaio

    如果没安装,可以用下面命令安装:

    1
    2
    3
    yum install libaio

    apt-get -y install libaio* libaio-dev*
  13. 初始化mysql:

    1
    mysqld --user=mysql --basedir=/tools/mysql/mysql8 --datadir=/tools/mysql/mysql8/data --initialize

    初始化完成后记住最后一行末尾的root@localhost后的密码,是mysql数据库登录的临时密码,每个人都不一样

    1
    2022-01-14T01:56:34.034586Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: hEpHyXo/8#C+
  14. 启动mysql服务

    1
    sh /opt/mysql8/support-files/mysql.server start

    启动报错,原因:没有修改mysql的配置文件

  15. 修改Mysql配置文件

    1
    vim /opt/mysql8/support-files/mysql.server

    修改以下属性:

    basedir=/opt/mysql8
    datadir=/opt/mysql8/data

    mysqld_pid_file_path=/opt/mysql8/data/mysqld_pid

    image-20220114101244779

  16. 将mysql配置文件拷贝到etc/init.d下,并修改权限

    1
    2
    cp /opt/mysql8/support-files/mysql.server /etc/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
  17. 将mysql服务加到系统服务中

    1
    chkconfig --add mysqld
  18. 开机自启动

    1
    chkconfig mysqld on
  19. 修改my.cnf文件

    这里下载的mysql8.0.27版本并没有这个my.cnf文件,因此直接创建的。

    1
    vim /etc/my.cnf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [client]
    port=3306
    socket=/tmp/mysql.sock

    [mysqld]
    basedir=/opt/mysql8
    datadir=/opt/mysql8/data
    socket=/tmp/mysql.sock
    user=mysql
    port=3306
    character_set_server=utf8
    # symbolic-links=0
    # bind-address=0.0.0.0


    [mysqld_safe]
    log-error=/opt/mysql8/data/error.log
    pid-file=/opt/mysql8/data/mysqld.pid
    tmpdir=/tmp
  20. 授权文件my.cnf

    1
    2
    3
    chown mysql:mysql my.cnf
    chown mysql my.cnf
    chmod 755 my.cnf
  21. 启动服务

    1
    2
    3
    4
    5
    查看服务:service mysqld status

    停止服务:service mysqld stop

    启动服务:service mysqld start
  22. 登录mysql

    1
    mysql -uroot -p

    若出现错误:./mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

    执行:

    1
    yum install libncurses*
  23. mysql -uroot -p
    
    1
    2
    3
    4
    5
    6
    7
    8

    24. 修改密码:

    ```shell
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jm0318@';
    flush privileges;

    update user set password=password("1") where user='root';
  24. 创建数据库:

    1
    create database xxxx charset=utf8;  
  25. 添加远程登录:

    1
    2
    3
    4
    5
    create user 'jetlinks'@'%' identified with mysql_native_password by 'jetlinks';


    create user 'sqjjg'@'%' identified with mysql_native_password by '%uBi#S*d';

  26. 修改权限:

    1
    2
    3
    grant all on *.*  to 'jinshuju'@'%';

    grant all on sqjjg.* to 'sqjjg'@'%';
  27. 刷新权限:

    1
    flush privileges; 
  28. 关闭 firewall

    1
    2
    3
    systemctl stop firewalld.service;
    systemctl disable firewalld.service;
    systemctl mask firewalld.service;

3.安装 iptables 防火墙

  1. 安装

    1
    yum -y install iptables-services 
  2. 启动设置防火墙

    1
    2
    3
    4
    5
    systemctl enable iptables;
    systemctl start iptables;

    systemctl enable firewalld.service
    systemctl start firewalld
  3. 若启动报错:Failed to start firewalld.service: Unit firewalld.service is masked.

    执行:

    1
    systemctl unmask firewalld
  4. 编辑防火墙,添加端口

    1
    vim /etc/sysconfig/iptables
  5. 在相关位置,写入以下内容

    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 8090 -j ACCEPT

  6. 开放端口:

    1
    firewall-cmd --zone=public --add-port=3306/tcp --permanent
  7. 重启防火墙

    1
    2
    systemctl restart iptables.service 
    systemctl restart firewalld
  8. 查看防火墙状态

    1
    firewall-cmd --state
  9. 查看以开放端口:

    1
    firewall-cmd --list-ports

4. 部署jar包

  1. 项目打包

    在maven窗口点击package进行打包,然后将打好的jar包上传至服务器

  2. 新建jar文件夹(用来存放所有项目的jar包)

  3. 新建项目名文件夹,里面用来存放项目jar包及log文件

    1
    2
    3
    4
    5
    6
    7
    8
    # 新建文件夹
    mkdir sqjjg

    # 新建sqjjg.log文件用来出入日志文件
    touch sqjjg.log

    # 如果出现无法写去的问题,就给文件读写权限
    sudo chmod -R 777 sqjjg.log
  4. firewall-cmd --zone=public --add-port=8000/tcp --permanent
    systemctl restart firewalld
    mkdir /opt/app/eladmin
    mv -f /opt/upload/eladmin-system-2.6.jar /opt/app/eladmin
    cd /opt/app/eladmin
    touch eladmin.log
    chsudo chmod -R 777 eladmin.log
    
    cd /opt/app/eladmin
    nohup java -jar eladmin-system-2.6.jar > eladmin.log 2>&1 &
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
       
    5. 启动项目

    ```shell
    #静默启动并输出日志(进阶版)
    nohup java -jar sqjjg-api-0.0.1-SNAPSHOT.jar > sqjjg.log 2>&1 &

    #另外还有几种方法(&代表在后台运行。)
    #方式一:
    #java -jar sqjjg-api-0.0.1-SNAPSHOT.jar
    #特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

    #方式二:
    #java -jar sqjjg-api-0.0.1-SNAPSHOT.jar &
    #特点:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

    #方式三:
    #nohup java -jar sqjjg-api-0.0.1-SNAPSHOT.jar &
    #nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
    #特点:当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

    #方式四:
    #nohup java -jar sqjjg-api-0.0.1-SNAPSHOT.jar >sqjjg.log &
    |

    #解释下 >temp.txt
    #command >out.file
    #command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
  5. 查看启动日志

    1
    tail -f sqjjg.log
  6. 查看运行进程

    1
    ps -ef|grep java|grep -v grep
  7. 停止运行

    1
    kill -pid

    链接

5.rpm安装mysql

  1. 查看 mysql 的安装包检查是否安装mariadb,命令:

    1
    rpm -qa|grep mariadb
  2. 删除mariadb,命令:

    1
    rpm -e --nodeps mariadb-libs
  3. 下载mysql,命令:

    1
    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
  4. 解压,命令:

    1
    tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
  5. 安装common,命令:

    1
    rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm --nodeps --force
  6. 安装libs,命令:

    1
    rpm -ivh mysql-community-libs-8.0.27-1.el8.x86_64.rpm --nodeps --force
  7. 安装client,命令:

    1
    rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --nodeps --force
  8. 安装server,命令:

    1
    rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --nodeps --force
  9. 查看 mysql 的安装包,命令:

    1
    rpm -qa | grep mysql 
  10. 数据库初始化和配置:

    1
    2
    3
    4
    mysqld --initialize;
    chown mysql:mysql /var/lib/mysql -R;
    systemctl start mysqld.service;
    systemctl enable mysqld;
  11. 查看数据库密码:

    1
    cat /var/log/mysqld.log | grep password 
  12. 登录数据库:

    1
    mysql -uroot -p
  13. 修改密码:

    1
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jsj123';
  14. 创建数据库:

    1
    create database sqjjg charset=utf8;  
  15. 添加远程登录:

    1
    2
    create user 'jinshuju'@'%' identified with mysql_native_password by '@fJ%VKAT';
    create user 'sqjjg'@'%' identified with mysql_native_password by '%uBi#S*d';
  16. 修改权限:

    1
    grant all on sqjjg.*  to 'sqjjg'@'%';
  17. 刷新权限:

    1
    flush privileges; 
  18. 关闭 firewall

    1
    2
    3
    systemctl stop firewalld.service;
    systemctl disable firewalld.service;
    systemctl mask firewalld.service;