部署安装jdk8\redis\mysql8\nginx
安装jdk8
linux安装jdk8详细步骤_linux jdk8安装-CSDN博客
安装redis
安装redis
后台启动命令
cd /ra/redis-6.0.0/src
./redis-server --daemonize yes
安装mysql8.0(自定义目录安装)
1、创建自己的mysql-8.0,解压mysql安装包
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
2、配置文件重新修改,在自己的目录下去创建配置文件内容
[mysqld]
basedir=/ra/base/mysql-8.0 -- 安装目录
datadir=/ra/base/mysql-8.0/data -- 数据目录
socket=/ra/base/mysql-8.0/var/lib/mysql/mysql.sock -- mysql.sock 自定义目录
log-error=/ra/base/mysql-8.0/var/log/mysqld.log
pid-file=/ra/base/mysql-8.0/var/run/mysqld/mysqld.pid
#慢查询配置
slow_query_log=ON
slow_query_log_file=/ra/base/mysql-8.0/log/slow_query_log.log
long_query_time=1
#设置默认存储引擎
default-storage-engine=INNODB
#修改默认编码
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#表名和字段名不区分大小写
#lower case table names=1
#设置MySQL运行端口
port=3306
#MySOL允许最大的进程连接数
max_connections =3000
#设置在网络传输中一次消息传输量的最大值
max_allowed_packet= 32M
[client]
#修改默认编码
default-character-set=utf8mb4
3、针对你配置的basedir、datadir、socket等等路径需要重新创建一下,不然下述步骤运行的时候提示找不到路径
4、重新刷新启动,指定对应的配置文件,根目录路径和数据路径,进入到bin目录
[base@ra bin]./mysqld --defaults-file=/ra/base/mysql-8.0/my.cnf --user=base --basedir=/ra/base/mysql-8.0 --datadir=/ra/base/mysql-8.0/data/ --initialize
进入对应的日志目录,一般来说是你的配置文件指定的路径:pid-file=/ra/base/mysql-8.0/var/run/mysqld/mysqld.pid
,针对以下文档 查看对应的root密码: 1w0B97GGEw+q。
2024-11-01T13:42:19.503904Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 1w0B97GGEw+q
再次重启的时候会出现以下报错,意思就是删掉你的刚创建的datadir=/ra/base/mysql-8.0/data – 数据目录 里面的东西,重新启动一下
2024-11-02T04:03:43.826986Z 0 [System] [MY-013169] [Server] /ra/base/mysql-8.0/bin/mysqld (mysqld 8.0.39) initializing of server in progress as process 1115757
2024-11-02T04:03:43.828582Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2024-11-02T04:03:43.828611Z 0 [ERROR] [MY-013236] [Server] The designated data directory /ra/base/mysql-8.0/data/ is unusable. You can remove all files that the server added to it.
5、将命令行配置一下
[base@ra mysql-8.0]$ mysql -uroot -p
-bash: mysql: command not found
– 配置了命令,mysql才算是命令启动
sudo ln -s /ra/base/mysql-8.0/bin/mysql /usr/bin
6、运行时报错
[base@ra4 mysql-8.0]$ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方式一:建立软连接
sudo ln -s /rasdapp/base/mysql-8.0/var/lib/mysql/mysql.sock /tmp/mysql.sock
解决方式二:后面发现还是有错误,所以我就直接指定对应的socket执行了:
mysql -uroot -p --scoket=/ra/base/mysql-8.0/var/lib/mysql/mysql.sock
7、更改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '3edc$RFV';
安装nginx
1、需要先部署编译环境:
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2、下载nginx最新的包
3、解压 tar -zxvf nginx-1.18.0.tar.gz
4、编译部署,要制定路径 --prefix改为我们要部署nginx的路径
cd nginx-1.18.0
./configure --prefix=/自己的安装路径和你的解压路径不能一起--with-http_ssl_module
make
make install
问题
make install出现报错:cp: ‘conf/koi-win’ and ‘/usr/local/nginx/conf/koi-win’ are the same file
问题解决方式:./configure --prefix=/自己的安装路径和你的解压路径不能一起–with-http_ssl_module 中的 --prefix指定的目录不要在自己的解压目录同级下,需要新建一个目录作为安装目录
使用nginx
场景
A系统部署的主机能在虚拟桌面主机上进行可视化操作,但是B、C系统部署的主机缺没有打通虚拟桌面主机端口,但是打通了A系统部署的主机的网络端口,申请又很麻烦,所以通过nginx,统一在A系统部署主机上进行访问
解决步骤,假设虚拟桌面访问路径10.10.10.11:8280与虚拟桌面是通的
1、A系统将端口切换为8281
nginx配置如下:
location /ra{
proxy_pass http://10.10.10.11:8281;
# 下面必须的,不然容易出现远程的js资源访问不到
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip
proxy_set_header X-Real-Port $remote_port;#保留代理之前的真实客户端端口
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
client_max_body_size 300m; # 指定系统上传的文件允许多大
}
2、B系统通过配置的形式进入
location /rb/server {
proxy_pass http://10.10.10.12:8282/ra/server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip
proxy_set_header X-Real-Port $remote_port;#保留代理之前的真实客户端端口
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
client_max_body_size 300m; # 指定系统上传的文件允许多大
}
location /web/server {
proxy_pass http://10.10.10.12:8282/web/server;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip
proxy_set_header X-Real-Port $remote_port;#保留代理之前的真实客户端端口
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
client_max_body_size 300m; # 指定系统上传的文件允许多大
}
同时如果B系统的前端是前后端分离的,那么前端访问链接就需要将对应的地址由之前12主机部署的端口,换成11主机nginx的端口,通过转发的方式去访问请求