既然我们已经搭建了 Linux 节点,不可能把它当 windows 系统使用吧 😂。
对于自己 Linux 节点,我相信更多的人是用来学习 Linux 命令,或者说是用来本地部署项目的吧,说白了就是玩 😎。
# 一、准备工作
# 1、目录说明
服务器的文件目录说明:
# 存放软件临时安装包(也可以放在root目录下)
mkdir -p /home/local_hub
# 存放软件环境(也可以安装在默认的/usr/local目录下)
mkdir -p /data/local_service
# ----------
# 临时存放Git项目代码
# mkdir -p /home/app_code
# 存放已部署上线的项目
# mkdir -p /data/app
/etc/profile
对所有登录的用户有效,~/.bash_profile
对当前用户有效
/usr/local
一般指软件的安装目录,/opt
一般指服务程序的安装目录。
警告
后面的 mysql、Redis 等能进行远程连接的前提是要 开放对应的端口 (在云服务器厂商那里开放端口)。
防火墙什么的,大多云服务器厂商是关闭的,不用去手动关闭。
# 2、git 工具
具体可以查看 Gitee 文档:生成/添加 SSH 公钥 (opens new window)
# 安装git
yum -y install git
# 检查是否成功
git --version
# SSH免密
ssh-keygen -t rsa -C "[email protected]"
cat ~/.ssh/id_rsa.pub # 复制到gitee
ssh -T [email protected] # 连接检测
本地安装方式
在 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 官网下载 Oracle JDK8
下载地址:https://www.oracle.com/java/technologies/downloads/#java8
卸载 OpenJDK
由于 OpenJDK 是开源的 Java 开发工具包,并且它可以提供一个免费、稳定且广泛支持的 Java 运行时环境,适用于大多数应用程序。
所以大多的云服务器厂商默认会安装 OpenJDK 而不是 Oracle JDK
# 查看原jdk
java -version
rpm -aq | grep java
# 卸载(只删除以java开头的即可)
yum -y remove [文件名]
java -version
# 进入安装包目录,解压
cd /home/local_hub
tar -zxvf jdk-8u351-linux-x64.tar.gz
# 把解压出来的文件夹转移到统一的地方
mv /home/local_hub/jdk1.8.0_351 /data/local_service/jdk1.8.0_351
# 修改环境变量/etc/profile,JAVA_HOME修改为自己的jdk路径。
vim /etc/profile
export JAVA_HOME=/data/local_service/java/jdk1.8.0_351
export PATH=$PATH:$JAVA_HOME/bin
# 使环境变量生效
source /etc/profile
# 检查是否配置成功
java -version
# 2、Tomcat 安装
在 Apache 官网下载 Tomcat 8
下载地址:https://tomcat.apache.org/download-80.cgi
server.xml 使用
# 略
# 进入安装包目录,解压
cd /home/local_hub
tar -zxvf apache-tomcat-8.5.83.tar.gz
# 把解压出来的文件夹转移到统一的地方
mv /home/local_hub/apache-tomcat-8.5.83 /data/local_service/apache-tomcat-8.5.83
# 使用示例
cd /data/local_service/apache-tomcat-8.5.83
ls webapps/ # war包
vim conf/server.xml # 项目配置
# 启动Tomcat
cd /data/local_service/apache-tomcat-8.5.83
bin/startup.sh
# 检查是否配置成功
# 浏览器访问 服务器ip地址:8080
拓展:开机启动
- 配置
# 1、配置一
cd /etc/rc.d/init.d/
# 赋予权限
touch tomcat
chmod +x tomcat
vim tomcat
# 内容
TOMCAT_HOME=/data/local_service/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 /data/local_service/apache-tomcat-8.5.83/bin
vim setclasspath.sh
# 内容
export JAVA_HOME=/data/local_service/jdk1.8.0_351
export JRE_HOME=/data/local_service/jdk1.8.0_351/jre
- 使用
# 开机启动配置
chkconfig --add tomcat
chkconfig tomcat on
service tomcat start # 开启
service tomcat stop # 关闭
# 3、Maven 安装 ✨
先在 Apache 官网下载 Maven
下载地址:https://maven.apache.org/download.cgi
阿里镜像加速
vim /data/local_service/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>
#进入安装包目录,解压
cd /home/local_hub
tar -zxvf apache-maven-3.8.6-bin.tar.gz
#把解压出来的文件夹转移到统一的地方
mv /home/local_hub/apache-maven-3.8.6 /data/local_service/apache-maven-3.8.6
#修改环境变量/etc/profile,MAVEN_HOME修改为自己的路径。
export MAVEN_HOME=/data/local_service/apache-maven-3.8.6
export PATH=$PATH:$MAVEN_HOME/bin
#使环境变量生效
source /etc/profile
#检查是否配置成功
mvn -v
# 前端
# 1、Nginx 安装
先在 Nginx 官网下载 Stable 版
下载地址:https://nginx.org/en/download.html
nginx.conf 使用
vim /usr/local/nginx/conf/nginx.conf
# 内容
# 使配置生效
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 进入安装包目录,解压
cd /home/local_hub
tar -zxvf nginx-1.17.10.tar.gz
# 把解压出来的文件夹转移到统一的地方
mv /home/local_hub/nginx-1.17.10 /data/local_service/nginx-1.17.10
# 编译安装
yum -y install pcre-devel openssl openssl-devel
cd /data/local_service/nginx-1.17.10
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
# 启动
/usr/local/ngnix/sbin/nginx -c /usr/local/ngnix/conf/nginx.conf
# 停止
/usr/local/ngnix/sbin/nginx -s stop
# 重启
/usr/local/ngnix/sbin/nginx -s reload
#检查是否配置成功
ps -ef | grep nginx # 查看进程
拓展:开机自启 1
# 新增配置文件 /etc/profile
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=/data/local_service/nginx-1.17.10/sbin/nginx -c /data/local_service/nginx-1.17.10/conf/nginx.conf
ExecReload=/data/local_service/nginx-1.17.10/sbin/nginx -s reload
ExecStop=/data/local_service/nginx-1.17.10/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
# 使配置文件生效
systemctl daemon-reload
# 开机自启
systemctl enable nginx.service
# 使用systemctl
systemctl status nginx.service
拓展:开启自启 2
init.d 版:https://developer.aliyun.com/article/608485
# 添加init.d下的nginx脚本
vim /etc/init.d/nginx
# 略
# 添加init.d下的nginx服务
chmod +x /etc/init.d/nginx # 设置权限
chkconfig --add nginx # 加入系统服务
# 检查服务是否生效
chkconfig --list nginx # 2、3、4、5开
# 启动nginx
service nginx start
# 2、Node 安装 ✨
先在 node 官网下载 二进制安装包
下载地址:https://nodejs.org/en/download
#进入安装包目录,解压
cd /home/local_hub
tar -Jxvf node-v16.18.0-linux-x64.tar.xz
#把解压出来的文件夹转移到统一的地方
mv /home/local_hub/node-v16.18.0-linux-x64 /data/local_service/node-v16.18.0-linux-x64
#修改环境变量/etc/profile,NODE_HOME修改为自己的node路径。
vim ~/.bash_profile
export NODE_HOME=/data/local_service/node-v16.18.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
#使环境变量生效
source ~/.bash_profile
#检查是否配置成功
node -v
npm version
npx -v
# 三、项目数据
# 1、Mysql 使用
先在 oracle 官网下载 mysql5.7
下载地址:https://dev.mysql.com/downloads/mysql/
卸载 Mariadb
由于 MariaDB 是一个开源的关系型数据库管理系统,并且它还是 MySQL 的一个分支,拥有 MySQL 的大部分功能。
所以大多的云服务器厂商默认会安装 MariaDB 而不是 MySQL
# 查看
rpm -qa | grep mariadb
# 卸载(只删除以mariadb开头的即可)
yum -y remove [文件名]
#进入安装包目录,解压
cd /home/local_hub
tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
#把解压出来的文件夹转移到统一的地方
mv /home/local_hub/mysql-5.7.40-linux-glibc2.12-x86_64 /data/local_service/mysql # (文件夹名称改为mysql)
# 修改 /etc/my.cnf 配置文件
# 如下
# 初始化 mysql 用户
# 如下
修改 /etc/my.cnf 配置文件
# 会显示默认的读取顺序
mysql --help | grep 'my.cnf'
服务器首先读取的是/etc/my.cnf
文件,如果前一个文件不存在则继续读/etc/mysql/my.cnf
文件
# 工作目录
mkdir -p /data/local_service/mysql/data # 日志文件等(Mysql数据文件)
mkdir -p /var/lib/mysql # socket文件、临时文件等(Mysql工作目录)
chmod 777 /var/lib/mysql
# 配置文件
vim /etc/my.cnf
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
character-set-server=utf8
socket=/var/lib/mysql/mysql.sock
basedir=/data/local_service/mysql
datadir=/data/local_service/mysql/data
port = 3306
max_connections=200
max_allowed_packet=16M
lower_case_table_names=1
default-storage-engine=INNODB
mysql 用户初始化操作
# 将/data/local_service/mysql权限赋予mysql用户
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /data/local_service/mysql
# 初始化mysql(将为root用户生成一个🚩初始密码)
cd /data/local_service/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#修改密码操作
mysql -u root -p
> alter user user() identified by "mysql新密码";
> flush privileges;
> quit
# 远程连接配置
mysql -u root -p
> use mysql;
> update user set user.Host='%' where user.User='root';
> flush privileges;
> quit
# 检查是否配置成功
# 使用Navicat等工具进行连接测试即可
拓展:开机自启 1
# 新增配置文件 /etc/profile
vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com/doc/refman/5.7/en/
[Service]
ExecStart=/data/local_service/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
User=mysql
Group=mysql
Restart=always
RestartSec=3
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
# 使配置文件生效
systemctl daemon-reload
# 设置开机自启
systemctl enable mysql.service
# 使用systemctl
systemctl status mysql.service
拓展:开启自启 2
# 启动脚本复制到 /etc/init.d 目录
cp /data/local_service/mysql/support-files/mysql.server /etc/init.d/mysqld
# 修改init.d下的mysqld脚本
vim /etc/init.d/mysqld
basedir=/data/local_service/mysql
datadir=/data/local_service/mysql/data
# 添加init.d下的mysqlId服务
chmod +x /etc/init.d/mysqld # 设置权限
chkconfig --add mysqld # 加入系统服务
# 检查服务是否生效
chkconfig --list mysqld # 2、3、4、5开
# 启动mysqld
service mysqld start
# 2、Redis 使用
先在 Redis 官网下载 Redis
下载地址:https://redis.io/download/#redis-downloads
可视化工具
下载 github 上某大神的可视化工具:RDM (opens new window),但遗憾的是要获取实时的安装包要付费 (opens new window)
所以又有大佬实时的帮我们打包,并将其发布到了 github 上:qishibo (opens new window)、lework (opens new window)
#进入安装包目录,解压
cd /home/local_hub
tar -zxvf redis-5.0.8.tar.gz
#把解压出来的文件夹转移到统一的地方
mv /home/local_hub/redis-5.0.8 /data/local_service/redis-5.0.8
# 编译安装
cd /data/local_service/redis-5.0.8
make && make install
# 将redis启动模式改为daemon
vim /data/local_service/redis-5.0.8/redis.conf
# 修改
daemonize yes
# 启动
/data/local_service/redis-5.0.8/src/redis-server /data/local_service/redis-5.0.8/redis.conf
#检查是否配置成功
ps -ef | grep redis # 查看进程
拓展:开机自启
使用 redis 自带的 install_server.sh 脚本创建 systemctl 服务
# 启动脚本
/data/local_service/redis-5.0.8/utils/install_server.sh
# 默认选项如下:
# Port : 6379
# Config file : /etc/redis/6379.conf
# Log file : /var/log/redis_6379.log
# Data dir : /var/lib/redis/6379
# Executable : /usr/local/bin/redis-server
# Cli Executable : /usr/local/bin/redis-cli
# 开机自启
systemctl enable redis_6379.service
# 使用systemctl
systemctl status redis_6379.service
拓展:设置 redis 连接密码
# 修改配置文件(执行install_server.sh 脚本后生成的文件)
vim /etc/redis/6379.conf
# 修改
bind 0.0.0.0
# bind 127.0.0.1
requirepass [密码]
#requirepass foobared
# 使配置生效
systemctl restart redis_6379.service
# 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