Linux,统信UOS,ARM架构,安装MySQL,tomcat,nginx部署Springboot+Vue项目

qq_41988286 2024-06-29 11:37:01 阅读 71

MySql安装

1.检查系统内是否有mysql

which mysql

如果已经安装,会显示mysql的安装路径,如usr/local/mysql

如果没有安装就可以继续往下走了,如果安装了需要先进行卸载

2.安装包准备

打开mysql官网,选择自己需要的版本的mysql,如下图所示,我想要8,所以我下载的8.0.31

3.安装

将安装包上传到服务器,我这里将安装包上传至/usr/local/mysql8下

1.解压 

tar xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.gz

这里我对解压的文件重命名为mysql-8.0.31

mv mysql-8.0.31-linux-glibc2.12-x86_64 mysql-8.0.31

进入 mysql-8.0.31文件夹, 创建data文件目录 并赋权限

mkdir data

chown 777 data

2.配置环境变量

编辑/etc/profile文件

1、vim /etc/profile

添加如下语句,(按i键进入编辑模式,编辑完按esc键退出编辑模式,然后输入:wq,保存并退出,如果不想编辑可强制退出:q!)

1、export PATH=$PATH:/usr/local/mysql8/mysql-8.0.31/mysql/bin:/usr/local/mysql8/mysql-8.0.31/mysql/lib

配置立即生效

source /etc/profile

3.配置my.cnf文件

配置my.cnf文件,注意红框部分,如下:

创建日志目录

mkdir /var/log/mysql

编辑my.cnf

vim /etc/my.cnf

[mysql]

default-character-set=utf8mb4

[client]

#port=3306

socket=/var/lib/mysql/mysql.sock

[mysqld]

#port=3306

server-id=1

user=root

general_log = 1

general_log_file= /var/log/mysql/mysql.log

socket=/var/lib/mysql/mysql.sock

basedir=/usr/local/mysql8/mysql-8.0.31/

datadir=/usr/local/mysql8/mysql-8.0.31/data

log-bin=/usr/local/mysql8/mysql-8.0.31/data/mysql-bin

innodb_data_home_dir=/usr/local/mysql8/mysql-8.0.31/data

innodb_log_group_home_dir=/usr/local/mysql8/mysql-8.0.31/data/

character-set-server=utf8mb4

lower_case_table_names=1

autocommit=1

default_authentication_plugin=mysql_native_password

symbolic-links=0

[mysqld_safe]

log-error=/usr/local/mysql8/mysql-8.0.31/data/mysql.log

pid-file=/usr/local/mysql8/mysql-8.0.31/data/mysql.pid

4.初始化

到/usr/local/mysql/mysql-8.0.31/bin/下,执行下面的命令,初始化mysql服务信息,得到数据库的初始密码,如果路径不同记得根据自己实际情况切换目录

./mysqld --user=root --basedir=/usr/local/mysql8/mysql-8.0.31 --datadir=/usr/local/mysql8/mysql-8.0.31/data/ --initialize

保存好这个密码,一会i数据库登录会用到!!!!

回到上级目录下,复制 mysql.server 文件

cp ./support-files/mysql.server /etc/init.d/mysql

cp ./support-files/mysql.server /etc/init.d/mysqld

创建 /var/lib/ 下mysql目录

mkdir /var/lib/mysql

设置mysql环境变量,不然报错

-bash: mysql:未找到命令

ln -s /usr/local/mysql8/mysql-8.0.31/bin/mysql /usr/bin

5.解决登录可能会有的报错

1.登录,发现报错,提示缺少libncurses.so.5文件,使用

find / -name 'libncurses*'

命令查找,如果 find / -name 'libncurses*' 时提示没有文件或目录,执行下面的两行命令,如果找到了,直接建立软连接即可。

sudo apt-get update

sudo apt-get install libncurses5

然后建立软连接

sudo ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5

然后登录

mysql -u root -p

发现缺少 libtinfo.so.5文件,再次建立软连接

sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

然后启动服务,登录

service mysql start

mysql -u root -p

2.报错 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

打开配置文件查看scoket的路径,我的配置路径是/var/lib/mysql/mysql.sock,然后输入:q!强制退出,然后建立一个软连接,然后重启在再次登录

vi /etc/my.cnf

ln -s /var/lib/mysql/mysql.sock

service mysql restart

mysql -u root -p

6.修改数据库密码,设置远程连接

登录成功后,关闭mysql服务

service mysqld stop

然后查看mysql运行状态

service mysqld status

确认关闭后,修改mysql配置文件

vi /etc/my.cnf

按i切换为编辑模式,然后在[mysqld]下添加一行

skip-grant-tables

然后按ESC后,输入:wq保存并退出,重启mysql服务,并登录

service mysqld start

mysql -u root -p

登录成功后,会进入mysql的操作命令行,选择数据库(一定要有;回车才会执行)

use mysql;

密码设置为空

update user set authentication_string = '' where user = 'root';

然后exit;或者quit;退出,再次对配置文件进行编辑,重复上面编辑的部分,删掉刚刚加入的skip-grant-tables,后重启mysql服务

service mysqld restart

登录(上面有登陆的命令,此处就不贴了)后,修改密码,设置远程访问

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '在这里输入你的密码';

flush privileges; // 刷新权限

use mysql;

update user set host='%' where user='root';//设置远程访问

flush privileges;

select host from user where user='root';

这就ok啦!

Tomcat安装

1.安装包准备

打开tomcat官网,选择自己需要的tomcat。Download下载,我下载的是9.0.88

2.安装

将安装包上传到服务器,我上传到了/opt,

1.安装

解压,解压后可以直接使用

tar -xzvf apache-tomcat-9.0.88.tar.gz

进入到tomcat安装目录,bin目录下,以我的为例,进入bin目录,启动tomcat

cd /opt/tomcat9.0.88/bin

./startup.sh

还可以输入下面的命令,查看tomcat服务

ps -ef | grep tomcat

可以看到进程号,如果想杀死进程就

kill 您的进程号

如果想关闭tomcat就(注意也要在bin目录下)

./shutdown.sh

2.启动时可能会遇到的问题

1.报错缺少JAVA_HOME OR JRE_HOME

用下面的命令拿到JAVA_HOME的路径,我的是/usr/local/java

echo $JAVA_HOME

然后编辑setclasspath.sh文件

vi setclasspath.sh

按i,进入编辑模式,然后在文件中加入以下代码,编辑结束后按ESC,键盘输入:wq保存并退出,重启tomcat.

3.项目部署

将你的springboot项目上传到服务器,然后将项目放在tomcat的webapps目录下,启动项目,下面的命令可以启动tomcat,并打印日志,可以在此查看问题。

./startup.sh && tail -f ../logs/catalina.out

到此tomcat和项目就安装部署完成啦!

Nginx安装

背景:Debain 12.x 64 操作系统,kali 镜像

一、安装nginx所需编译环境

1、Linux 系统安装gcc

Debian/Ubuntu:

sudo apt install gcc

RedHat/CentOS:

sudo yum install gcc

2、Linux系统gcc-c++

Debian/Ubuntu:

sudo apt install g++

RedHat/CentOS:

sudo dnf install gcc-c++

3、Linux系统安装perl

Debian/Ubuntu:

sudo apt install perl

RedHat/CentOS:

sudo yum install perl

4、Linux系统安装pcre-devel

Debian/Ubuntu:

sudo apt install libpcre3-dev

RedHat/CentOS:

sudo yum install pcre-devel

5、Linux系统安装zlib

Debian/Ubuntu:

sudo apt install zlib1g-dev

RedHat/CentOS:

sudo yum install zlib-devel

6、Linux系统安装openssl(本文基于openssl3.x,openssl1.x请安装nginx1.20.0以下版本)

Debian/Ubuntu:

sudo apt install openssl

RedHat/CentOS:

sudo yum install openssl

7、Linux系统安装openssl-devel

Debian/Ubuntu:

sudo apt install libssl-dev

RedHat/CentOS:

sudo yum install openssl-devel

8、Linux系统安装net-tools

Debian/Ubuntu:

sudo apt install net-tools

RedHat/CentOS:

sudo yum install net-tools

9、Linux系统安装unzip

Debian/Ubuntu:

sudo apt install unzip

RedHat/CentOS:

sudo yum install unzip

二、 下载nginx

# 将 nginx 1.24.0 下载到/opt目录下

wget http://nginx.org/download/nginx-1.24.0.tar.gz 

 

# 解压nginx文件

tar -zxvf nginx-1.24.0.tar.gz

 

三、nginx配置插件、编译、安装

# nginx配置rtmp模块儿(注意,这里是rtmp的绝对路径)(要在/nginx-1.24.0目录下执行)

./configure --add-module=/opt/nginx-rtmp-module-master

 

# 编译并安装(要在/nginx-1.24.0目录下执行)

make&&make install

 

# 安装完毕后查看版本信息

nginx -V

 

# nginx 默认安装位置

cd /usr/local/nginx/

 

# 启动nginx

/usr/local/nginx/sbin/nginx

 

# 关闭nginx

/usr/local/nginx/sbin/nginx -s stop

nginx安装完成。

将前端项目打包,上传到服务器nginx内的html下,启动nginx,访问页面即可,也可将项目包直接解压到nginx目录下,这样就要修改配置文件nginx.cnf如下

记得在配置文件中修改后台项目的访问地址

# 配置代理路径

location / {

proxy_pass http://192.168.0.999:8080; # 转发请求的目标地址,后台项目地址

proxy_set_header Host $host; # 设置请求头中的Host字段

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 设置HTTP头中的X-Forwarded-For字段,表示客户端真实IP,多个IP用逗号隔开

proxy_set_header X-Real-IP $remote_addr; # 设置请求头中的X-Real-IP字段,表示客户端真实IP

}

配置文件示例

#user nobody;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

events {

worker_connections 8192;

}

rtmp {

server {

listen 1935;

chunk_size 4096;

application live/videos {

live on;

allow publish all;

allow play all;

hls on;

hls_path /usr/local/nginx/videos;

hls_fragment 5s;

hls_playlist_length 30s;

}

application live/playback {

live on;

allow publish all;

allow play all;

hls on;

hls_path /usr/local/nginx/playback;

hls_fragment 5s;

hls_playlist_length 30s;

}

}

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

#tcp_nopush on;

server_names_hash_bucket_size 128;

## Start: Timeouts ##

client_body_timeout 10;

client_header_timeout 10;

keepalive_timeout 30;

send_timeout 10;

keepalive_requests 10;

## End: Timeouts ##

#gzip on;

server {

listen 9191;

server_name xxx;

location / {

root 前端项目名;

index index.html;

try_files $uri $uri/ /index.html;

expires -1;

if_modified_since off;

add_header Last-Modified "";

add_header Cache-Control no-cache;

etag off;

}

location /videos {

alias videos;

index index.html index.htm;

add_header 'Access-Control-Allow-Origin' '*';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

}

location /playback {

alias playback;

index index.html index.htm;

add_header 'Access-Control-Allow-Origin' '*';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';

add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';

}

location /api {

proxy_pass http://后台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;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_cookie_path /JumpinArchiveRoom /;

}

location /wsapi {

proxy_pass http:/后台ip:端口/后台项目名称;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "Upgrade";

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}

至此大功告成!

记录一下,省的自己下次就忘了

参考文章:统信UOS V20 安装mysql5.7.42详细教程_uos安装mysql-CSDN博客

linux下安装nginx,附加安装rtmp模块,实现rtmp推流播放_linux rtmp推流-CSDN博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。