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博客
上一篇: windows下安装Docker,点击docker desktop后一直转圈圈,提示:docker is starting
下一篇: 如何在Linux系统使用Docker本地部署Halo网站并实现无公网IP远程访问
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。