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

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博客

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值