既然我们已经搭建了 Linux 节点,不可能把它当 windows 系统使用吧 😂。

  对于自己 Linux 节点,我相信更多的人是用来学习 Linux 命令,或者说是用来本地部署项目的吧,说白了就是玩 😎。

# 一、准备工作

# 1、目录说明

  下面的所有命令都是从 /root/code-environment 目录开始的

cd ~
mkdir code-environment
cd ./code-environment

/etc/profile 对所有登录的用户有效,~/.bash_profile 对当前用户有效

/usr/local 一般指软件的安装目录,/opt 一般指服务程序的安装目录。

警告

  后面的 mysql、Redis 等能进行远程连接的前提是要 开放对应的端口 (在云服务器厂商那里开放端口)。

# 2、git 工具

  在 github 上找到源码编译安装:git 的 Linux 版本 (opens new window)

  • 下载
# 安装git包
wget https://github.com/git/git/archive/refs/tags/v2.38.1.tar.gz
tar -zxvf git-2.38.1.tar.gz

# 安装依赖(注意:这里的依赖💖后面可能也会使用;)
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker
yum remove git
  • 编译安装(/usr/local)
cd git-2.38.1/
make configure # 配置
./configure --prefix=/usr/local/git
make profix=/usr/local/git all # 编译
make install # 安装
  • 环境变量(/etc/profile)
vim /etc/profile

# 内容
# git
export GIT_HOME=/usr/local/git
export PATH=$PATH:$GIT_HOME/bin
  • 检查
source /etc/profile
git --version

# 3、端口汇总

基础环境 端口 项目数据 端口
JDK MySQL 3306
Tomcat 8080 Redis 6379
Maven MongoDB 27017
RabbitMQ 15672
Nginx 80
Node

# 二、基本环境

# 1、JDK 安装

  在 oracle 官网下载 jdk1.8 (opens new window)

  • 卸载 OpenJDK
# 查看原jdk
java -version
rpm -aq | grep java

# 卸载(只删除以java开头的即可)
yum -y remove [文件名]
java -version
  • 解压安装(/usr/local)
cd /usr/local/
mkdir java
cd java

tar -zxvf /root/code-environment/jdk-8u351-linux-x64.tar.gz -C ./
  • 环境变量(/etc/profile)
vim /etc/profile

# 内容
# java
JAVA_HOME=/usr/local/java/jdk1.8.0_351
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
source /etc/profile # 使配置生效
  • 检查
java -version
javac

# 2、Tomcat 安装

  在 Apache 官网下载 Tomcat 8 (opens new window)

  • 解压安装(/usr/local)
cd /usr/local/
mkdir tomcat
cd tomcat

tar -zxvf /root/code-environment/apache-tomcat-8.5.83.tar.gz -C ./
  • 启动脚本
cd ./apache-tomcat-8.5.83/bin/

./startup.sh
# 访问:
# 浏览器访问 服务器ip地址:8080 即可
  • 快捷操作、开机启动
# 1、配置一

cd /etc/rc.d/init.d/

# 赋予权限
touch tomcat
chmod +x tomcat

vim tomcat

# 内容
#!/bin/bash
#chkconfig:- 20 90
#description:tomcat
#processname:tomcat
TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.83
case $1 in
 start) su root $TOMCAT_HOME/bin/startup.sh;;
 stop) su root $TOMCAT_HOME/bin/shutdown.sh;;
 *) echo "require start|stop" ;;
esac

# 2、配置二
cd /usr/local/tomcat/apache-tomcat-8.5.83/bin

vim setclasspath.sh

# 内容
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=/usr/local/java/jdk1.8.0_351/jre
# 经过上面的配置,对Tomcat的启用就变得简洁得多了

service tomcat start # 开启
service tomcat stop # 关闭

# 开机启动配置
chkconfig --add tomcat
chkconfig tomcat on
  • 其他
cd /usr/local/tomcat/apache-tomcat-8.5.83/

# 1、war包
cd webapps/
cp /root/workspace/ruoyi/ruoyi-admin.war ./ # 启动Tomcat后将自动对war包解压

# 2、配置
cd conf/
vim server.xml

# 内容(在<Host appBase="webapps" ……></Host>标签内进行配置)
<Context path="/" docBase="/usr/local/tomcat/apache-tomcat-8.5.83/webapps/ruoyi-admin" reloadable="flase"></Context>

# 3、Maven 安装 ✨

  在 Apache 官网下载 maven3.6 (opens new window)

  • 解压安装(/opt)
cd /opt
mkdir maven
cd maven

tar -zxvf /root/code-environment/apache-maven-3.8.6-bin.tar.gz -C ./
  • 阿里镜像加速

进入官网就会发现,其网站在国内的加载速度并不理想

vim /opt/maven/apache-maven-3.8.6/conf/settings.xml

# 内容(在<mirrors></mirrors>标签内容加入)
<mirror>
 <id>alimaven</id>
 <name>aliyun maven</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 <mirrorOf>central</mirrorOf>
</mirror>
  • 环境变量(/etc/profile)
vim /etc/profile

# 内容
# maven
export MAVEN_HOME=/opt/maven/apache-maven-3.8.6
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile # 使配置生效
  • 检查
mvn -v

# 4、Nginx 安装

  在 Nginx 官网下载 Nginx (opens new window)

进入Index of /download/ (opens new window)即可按需下载

  • 解压安装(/usr/local)
cd /usr/local/
mkdir nginx
cd nginx

tar zxvf /root/code-environment/nginx-1.17.10.tar.gz -C ./

# 安装
# 1、依赖
yum -y install pcre-devel
yum -y install openssl openssl-devel

# 2、编译安装
cd nginx-1.17.10
./configure
make && make install
  • 启动 Nginx
/usr/local/nginx/sbin/nginx

# 停止Nginx服务
/usr/local/nginx/sbin/nginx -s stop
# 重启Nginx服务
/usr/local/nginx/sbin/nginx -s reload
  • 启动脚本(开机自启动)
# 和前面的mysql、tomcat类似
# https://developer.aliyun.com/article/608485

# 是否配置,看看你是否有这个需求
  • systemctl 管理 nginx 服务

redis 好像安装完成时,systemctl 就可以管理 redis 服务了

vim /usr/lib/systemd/system/nginx.service

# 内容
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target
# 更新配置文件
systemctl daemon-reload

# 初次使用
ps -ef|grep nginx
kill [nginx进程号]
systemctl start nginx.service

systemctl status nginx.service # 查看nginx服务
# 开机自启
systemctl enable nginx.service
systemctl disable nginx.service

# 开启
systemctl start nginx.service
# 关闭
systemctl stop nginx.service
# 重启
systemctl restart nginx.service
  • 使用示例
# 配置文件位置🚩
vim /usr/local/nginx/conf/nginx.conf # 可配置端口、ip等

# 内容
user root;

http{
  server {
    listen 8089 # 项目的端口(默认80)
    server_name 192.168.6.66 # 项目的ip(默认服务器地址localhost)

    # 1、前端dist文件地址
    location / {
      root   /www/wwwroot/ruoyi-ui; # dist文件路径
      index  index.html index.htm;
    }

    # 2、后端接口地址
    location /prod-api/ { # (注意尾部加 / 😭)
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header REMOTE-HOST $remote_addr;
      proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

      proxy_pass http://110.110.110.110:8080/; # springboot项目默认端口(注意尾部加 / 😭)
    }
  }
}
# 让nginx.conf配置生效
/usr/local/nginx/sbin/nginx -s reload
  • 检查
ps -aux | grep nginx # 查看进程
lsof -i:80 # 谁占用了
netstat -anp | grep :80 # 那个程序🍗在运行

# 访问:
# 浏览器访问服务器ip地址即可
  • 重启服务器报错问题
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

# 5、Node 安装 ✨

  在 node 官网上找到Linux Binaries (x64) (opens new window)并下载

  • 解压安装(/usr/local)
cd /usr/local/
mkdir node
cd node

tar -Jxvf /root/code-environment/node-v16.18.0-linux-x64.tar.xz -C ./

  • 环境变量(~/.bash_profile)
cd ~
vim .bash_profile

# 内容
# Nodejs
export PATH=/usr/local/node/node-v16.18.0-linux-x64/bin:$PATH
source ~/.bash_profile # 使配置生效
  • 检查
node -v
npm version
npx -v

# 三、项目数据

# 1、Mysql 安装

  在 oracle 官网下载 mysql5.7 (opens new window)

  • 卸载 Mariadb
# 查看
rpm -qa | grep mariadb

# 卸载(只删除以java开头的即可)
yum -y remove [文件名]

警告

由于 mysql 的目录会在多个地方进行配置,为了方便,直接将内容解压到/mysql 中,而不是/mysql/mysql-5.7.40 中。

  • 解压(/usr/local)
tar -zxvf /root/code-environment/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

# 重命名
cd /usr/local/
mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql
  • 归属用户
# 添加用户组
groupadd mysql
# 添加用户组(useradd -g [用户组] [用户名] )
useradd -g mysql mysql

# 修改文件归属(chown -R [所有者]:[用户组] 文件)
cd mysql
chown -R mysql:mysql ./
  • 配置文件(/etc/my.cnf)
cd /usr/local/mysql/
mkdir data # 备用
# 新建my.cnf
cd /etc
touch my.cnf
vim ./my.cnf

# 内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
# 设置3306端⼝
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装⽬录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最⼤连接数
max_connections=200
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql # 修改权限为-可读可写可执行
  • 安装(/usr/local)
cd /usr/local/mysql

# 正式安装
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 【注意:这里会得到一个临时mysql的root🚩登录密码(最后面)】
  • 启动脚本(mysqld 服务随系统启动⽽⾃动启动)
cp ./support-files/mysql.server /etc/init.d/mysqld

vim /etc/init.d/mysqld

# 内容(大概在45行左右👀)
# 将
basedir=
datadir=
# 改为
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 添加mysqlId服务
chmod +x /etc/init.d/mysqld # 设置权限
chkconfig --add mysqld # 加入系统服务

# 检查服务是否生效
chkconfig --list mysqld # 2、3、4、5开

# 启动mysqld
service mysqld start
  • 环境变量(~/.bash_profile)

  将 MYSQL 的 BIN ⽬录加⼊ PATH 环境变量

cd ~
vim .bash_profile

# 内容
# mysql
export PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile # 使配置生效
  • 首次登录

注意:① 记得加上 sql 语句末加上; ② 出现 OK,才表示成功

# 登录后
mysql -u root -p

# 1、修改root密码
> alter user user() identified by "密码";
> flush privileges;

# 2、远程主机登录设置
> use mysql;
> update user set user.Host='%' where user.User='root';
> flush privileges;

> quit
  • 检查
# 使用Navicat等工具进行连接测试即可

# 2、Redis 安装

  在 Redis 官网下载 稳定版 Redis (opens new window)

进入 listing of all previous Redis releases (opens new window)即可按需下载

  • 解压安装(/usr/local)
cd /usr/local/
mkdir redis
cd redis

tar zxvf /root/code-environment/redis-5.0.8.tar.gz -C ./

# 编译安装
cd redis-5.0.8/
make && make install
  • REDIS 安装为系统服务并后台启动
cd ./utils/

./install_server.sh # 其中的配置全选默认即可

# 查看redis状态
systemctl status redis_6379.service
# 或者:
ps -ef | grep redis # 查看进程
  • Redis 启用
# 1、启动本地Redis客户端
redis-cli
> set name lencamo
> get name
# 2、远程Redis连接配置
vim /etc/redis/6379.conf

# 修改内容
# ① 可远程连接(大概在70行左右👀)
bind 0.0.0.0
# bind 127.0.0.1

# ② 设置访问密码(大概在508行左右👀)
requirepass [密码]
#requirepass foobared
systemctl restart redis_6379.service # 重启服务
  • 检查
# 1、本地连接
redis-cli
> get name
> auth [密码]
> get name

# 2、远程连接
# RDM可视化工具
  • Redis 可视化工具

  下载 github 上某大神的可视化工具:RDM (opens new window),但遗憾的是要获取实时的安装包要付费 (opens new window)

  所以又有大佬实时的帮我们打包,并将其发布到了 github 上:qishibo (opens new window)lework (opens new window)

# 3、MongoDb 安装

  在 node 官网上选择CentOS 7.0 / tgz (opens new window)并下载

安装过程和 node 相似

  • 解压安装(/usr/local)
tar -zxvf /root/code-environment/mongodb-linux-x86_64-rhel70-4.2.23.tgz -C /usr/local/

# 重命名
cd /usr/local/
mv mongodb-linux-x86_64-rhel70-4.2.23 mongodb
  • 环境变量(~/.bash_profile)
vim /etc/profile

# 内容
# mongodb
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
source /etc/profile # 使配置生效
  • 配置文件
cd /usr/local/mongodb

touch mongodb.conf
mkdir data
mkdir logs

cd data
mkdir db
cd logs
touch mongodb.log

# 配置
vim mongodb.conf

# 内容
dbpath=/usr/local/mongodb/data/db # 数据库数据存放目录
logpath=/usr/local/mongodb/logs/mongodb.log # 日志文件存放目录
logappend=true # 日志追加方式
port=27017 # 端口
noauth = true # 不启用验证
maxConns = 100 # 最大同时连接数
fork=true # 以守护进程方式在后台运行
bind_ip=0.0.0.0 # 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
  • 启动
# 当然--config可以简写为 -f
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf

# 连接MongoDB数据库
cd /usr/local/mongodb/bin/
mongo
> db

浏览器查看
http://服务器ip:27017/
  • systemctl 管理 mongodb 服务
vim /lib/systemd/system/mongodb.service

# 内容
[Unit]
    Description=mongodb
    After=network.target remote-fs.target nss-lookup.target
[Service]
    Type=forking
    ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
    PrivateTmp=true
[Install]
    WantedBy=multi-user.target
# 更新配置文件
systemctl daemon-reload

# 初次使用
ps -ef|grep mongodb
kill [nginx进程号]
systemctl start mongodb.service

systemctl status mongodb.service # 查看nginx服务
# 开机自启
systemctl enable mongodb.service
systemctl disable mongodb.service

# 开启
systemctl start mongodb.service
# 关闭
systemctl stop mongodb.service
# 重启
systemctl restart mongodb.service
  • 检查
mongo -version

netstat -lanp | grep "27017"

# 4、RabbitMQ 安装

  RabbitMQ 消息队列的使用需要 erlang 环境的支持,所以必须安装 erlang

  • 安装 erlang
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm .sh | sudo bash

yum install erlang-22.3.3-1.el7.x86_64

yum load-transaction /tmp/yum_save_tx.2020-05-14.22-21.n0cwzm.yumtx

# 检查
erl
  • 安装 RabbitMQ
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

yum install rabbitmq-server-3.8.3-1.el7.noarch
  • 其他
# 开机启动
chkconfig rabbitmq-server on

# 启动服务
systemctl start rabbitmq-server.service

# 开启web可视化管理插件
rabbitmq-plugins enable rabbitmq_management

# 访问
服务器ip:15672

# 四、视频推荐

打造多节点 (opens new window)

编程环境和软件安装 (opens new window)

项目实战部署 (opens new window)

更新于 : 8/7/2024, 2:16:31 PM