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博客
还没有评论,来说两句吧...