# 一、Centos 环境

# 1、服务器

  在使用虚拟机搭建环境到项目部署后,折腾一圈后,最终还是回到了云服务器上 😂。

  主要是服务器性能的原因吧,有时候虚拟机突然就卡机了、下个东西半天不动,就问你是什么感觉。所以出于稳定性和开发效率的考量,最终放弃了虚拟机。

  但使用虚拟机也不是没有用处,至少对 Linux 的使用更加熟练了,况且不用 money。

阿里云-学生 (opens new window) (性能不错,但活动变少了)

腾讯云-学生 (opens new window) (一个不错的选择,便宜)

腾讯云-体验 (opens new window)

华为云-体验 (opens new window)

百度云-体验 (opens new window)

个人使用

  阿里云用来挂上自己的网站,毕竟稳定。腾讯云用来开发学习、项目部署。有多节点需求的时候,使用各厂商云服务器的体验卡即可,或者买 1 个月的。

# 2、辅助工具

Xshell:

官方下载:https://www.xshell.com/zh/free-for-home-school/

FileZilla:

官方下载:https://filezilla-project.org/

FinalShell:

官方下载:https://www.hostbuf.com/t/988.html

# 3、域名 / ip

本机 ip 映射:

如果我们在为别人演示项目时,不想暴露个人 ip 地址

# C:\Windows\System32\drivers\etc

127.0.0.1 localhost
# ip地址 别名

域名使用:

# 4、宝塔工具

云服务器:

重置密码、开放 8888 端口、远程连接

安装宝塔:

安装命令:https://www.bt.cn/new/download.html

# 获取宝塔面板地址
su root
bt default

修改 bt-panel 配置:

修改安全入口、修改面板登录密码、用户名

提示

后续就可以直接通过宝塔管理服务器了。 宝塔面板入口:http://服务器公网 ip:8888/安全入口

# 二、项目环境(离线版)

# 准备工作

# 1、目录说明

  服务器的文件目录说明:

# 存放软件临时安装包(也可以放在root目录下)
mkdir -p /home/local_hub

# 存放软件环境(也可以安装在默认的/usr/local目录下)
mkdir -p /data/local_service

# ----------

# 临时存放Git项目代码
# mkdir -p /home/app_code

# 存放已部署上线的项目
# mkdir -p /data/app

# 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] # 连接检测

# 后端

# 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、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

# 进入安装包目录,解压
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
/data/local_service/nginx-1.17.10/configure
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/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/data/local_service/nginx/sbin/nginx -s reload
ExecStop=/data/local_service/nginx/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

# 启动脚本复制到 /etc/init.d 目录
cp /data/local_service/mysql/support-files/mysql.server /etc/init.d/nginx

# 添加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/node-v16.18.0-linux-x64 /data/local_service/node/node-v16.18.0-linux-x64

#修改环境变量/etc/profile,NODE_HOME修改为自己的node路径。
vim ~/.bash_profile
export NODE_HOME=/data/local_service/node/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
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 nginx.service

# 使用systemctl
systemctl status nginx.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
更新于 : 8/7/2024, 2:16:31 PM