centos服务环境搭建
1.java环境
下载java 安装包,命令:
1
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
解压
1
tar -zxvf jdk-17_linux-aarch64_bin.tar.gz
配置环境变量
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让配置生效
1
source /etc/profile
2.mysql8
查看 mysql 的安装包检查是否安装mariadb,命令:
1
rpm -qa|grep mariadb
删除mariadb,命令:
1
rpm -e --nodeps mariadb-libs
下载mysql,命令:
1
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
解压,命令:
1
2
3xz -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重命名:
1
mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8
进入mysql8,创建data文件夹
1
2cd mysql8
mkdir data配置mysql环境变量,打开/etc/profile添加如下
1
2
3
4
5MYSQL_HOME=/opt/mysql8/bin
PATH=$PATH:$MYSQL_HOME
export MYSQL_HOME PATH配置完成后重载:
1
source /etc/profile
创建mysql用户组和mysql用户
1
2groupadd mysql
useradd -g mysql mysql关联myql用户到mysql用户组中
进入到mysql8所在目录,此例中为/opt/
1
2
3
4chown -R mysql:mysql mysql8
chown -R mysql:mysql mysql8/data
chown -R mysql mysql8
chown -R mysql mysql8/data更改mysql安装文件夹mysql的权限
1
chmod -R 755 mysql8
安装libaio依赖包
查询是否安装libaio依赖包
1
yum search libaio
如果没安装,可以用下面命令安装:
1
2
3yum install libaio
apt-get -y install libaio* libaio-dev*初始化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+
启动mysql服务
1
sh /opt/mysql8/support-files/mysql.server start
启动报错,原因:没有修改mysql的配置文件
修改Mysql配置文件
1
vim /opt/mysql8/support-files/mysql.server
修改以下属性:
basedir=/opt/mysql8
datadir=/opt/mysql8/datamysqld_pid_file_path=/opt/mysql8/data/mysqld_pid
将mysql配置文件拷贝到etc/init.d下,并修改权限
1
2cp /opt/mysql8/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld将mysql服务加到系统服务中
1
chkconfig --add mysqld
开机自启动
1
chkconfig mysqld on
修改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授权文件my.cnf
1
2
3chown mysql:mysql my.cnf
chown mysql my.cnf
chmod 755 my.cnf启动服务
1
2
3
4
5查看服务:service mysqld status
停止服务:service mysqld stop
启动服务:service mysqld start登录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*
mysql -uroot -p1
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';创建数据库:
1
create database xxxx charset=utf8;
添加远程登录:
1
2
3
4
5create user 'jetlinks'@'%' identified with mysql_native_password by 'jetlinks';
create user 'sqjjg'@'%' identified with mysql_native_password by '%uBi#S*d';修改权限:
1
2
3grant all on *.* to 'jinshuju'@'%';
grant all on sqjjg.* to 'sqjjg'@'%';刷新权限:
1
flush privileges;
关闭 firewall
1
2
3systemctl stop firewalld.service;
systemctl disable firewalld.service;
systemctl mask firewalld.service;
3.安装 iptables 防火墙
安装
1
yum -y install iptables-services
启动设置防火墙
1
2
3
4
5systemctl enable iptables;
systemctl start iptables;
systemctl enable firewalld.service
systemctl start firewalld若启动报错:Failed to start firewalld.service: Unit firewalld.service is masked.
执行:
1
systemctl unmask firewalld
编辑防火墙,添加端口
1
vim /etc/sysconfig/iptables
在相关位置,写入以下内容
-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开放端口:
1
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
1
2systemctl restart iptables.service
systemctl restart firewalld查看防火墙状态
1
firewall-cmd --state
查看以开放端口:
1
firewall-cmd --list-ports
4. 部署jar包
项目打包
在maven窗口点击package进行打包,然后将打好的jar包上传至服务器
新建jar文件夹(用来存放所有项目的jar包)
新建项目名文件夹,里面用来存放项目jar包及log文件
1
2
3
4
5
6
7
8新建文件夹
mkdir sqjjg
新建sqjjg.log文件用来出入日志文件
touch sqjjg.log
如果出现无法写去的问题,就给文件读写权限
sudo chmod -R 777 sqjjg.logfirewall-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文件中。查看启动日志
1
tail -f sqjjg.log
查看运行进程
1
ps -ef|grep java|grep -v grep
停止运行
1
kill -pid
5.rpm安装mysql
查看 mysql 的安装包检查是否安装mariadb,命令:
1
rpm -qa|grep mariadb
删除mariadb,命令:
1
rpm -e --nodeps mariadb-libs
下载mysql,命令:
1
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
解压,命令:
1
tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
安装common,命令:
1
rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm --nodeps --force
安装libs,命令:
1
rpm -ivh mysql-community-libs-8.0.27-1.el8.x86_64.rpm --nodeps --force
安装client,命令:
1
rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --nodeps --force
安装server,命令:
1
rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --nodeps --force
查看 mysql 的安装包,命令:
1
rpm -qa | grep mysql
数据库初始化和配置:
1
2
3
4mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;查看数据库密码:
1
cat /var/log/mysqld.log | grep password
登录数据库:
1
mysql -uroot -p
修改密码:
1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jsj123';
创建数据库:
1
create database sqjjg charset=utf8;
添加远程登录:
1
2create user 'jinshuju'@'%' identified with mysql_native_password by '@fJ%VKAT';
create user 'sqjjg'@'%' identified with mysql_native_password by '%uBi#S*d';修改权限:
1
grant all on sqjjg.* to 'sqjjg'@'%';
刷新权限:
1
flush privileges;
关闭 firewall
1
2
3systemctl stop firewalld.service;
systemctl disable firewalld.service;
systemctl mask firewalld.service;



