服务器部署(保姆级教程)

51次阅读

一、准备工作
1、下载 JDK 安装包

JDK

2、下载 Tomcat 安装包

Tomcat

3、下载 MySQL 安装包

MySQL

注意 : 下载选择 Red Hat Enterprise Linux /Oracle Linux

依次下载 :( 什么版本你自己决定 建议最低 5.7)

​ mysql-community-server-5.7.27-1.el7.x86_64.rpm

​ mysql-community-client-5.7.27-1.el7.x86_64.rpm

​ mysql-community-common-5.7.27-1.el7.x86_64.rpm

​ mysql-community-libs-5.7.27-1.el7.x86_64.rpm

4、下载 Redis 安装包

Redis

5、下载 Nginx 安装包

Nginx

6、下载 Node 安装包 (.xz 结尾的包)

Node

7、下载 Maven 安装包

Maven

8、准备服务器文件传输工具 (自己准备 , 我是用的 FileZilla)

9、Oracle 账号 :oracle-02@qq.com 1211WaN!

二、本地虚拟机网络设置 (云服务器跳过)
1、查看有无分配的 ip

ifconfig

2、本机控制面板到这个地址下去

控制面板 \ 网络和 Internet\ 网络和共享中心 更改适配器设置

3、查看以太网 右键—状态—详细信息 (这里和等会修改虚拟机网卡的信息相关)

以太网 : ——————>>> 虚拟机 :
IPv4:IP 地址 (只有 IP 不一样) IPADDR=IP 地址
IPv4 子网掩码 : 子网掩码 NETMASK= 子网掩码
IPv4 默认网关 : 默认网关 GATEWAY= 网关
IPv4DNS 服务器 : 服务器 DNS1= 服务器

虚拟机的 ip 根据你本机的 ip 改 用 ping 命令测试 是否被占用 要在一个网关内哟

4、准备好信息 , 修改虚拟机网络

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static // 这里改成 static 静态的
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=31ddae9d-57fd-46ee-a464-bd0c0ee6f913
DEVICE=ens33
ONBOOT=yes // 这里原来是 no 改成 yes
IPADDR= 静态 IP
NETMASK= 静态 IP 对应的子网掩码
GATEWAY= 静态 IP 的网关
DNS1= 服务器

5、重启网卡

systemctl restart network.service

6、使用 ping 命令 从虚拟机到主机 主机到虚拟机 测试是否畅通

三、安装 JDK
1、用文件传输工具吧 JDK 压缩包上传服务器

2、解压到 /usr/local/src/JDK 下

①查看是否安装了 JDK

rpm -qa|grep java

②先卸载已经安装的 JDK

rpm -e –nodeps 安装的 JDK

③解压安装 JDK

tar -zxvf JDK 压缩包

④配置环境变量

vim /etc/profile

⑤在末尾添加代码

export JAVA_HOME=JDK 安装路径
export PATH=$JAVA_HOME/bin:$PATH

然后按 Esc 退出编辑 , 然后输入 :wq 保存退出

⑥使修改的配置立刻生效

source /etc/profile

⑦检查 jdk 环境变量配置是否成功

java -version

⑧查看 JDK 安装路径

java -verbose

四、安装 Tomcat
注意 :(SpringBoot 项目根据自己情况安装 )

1、上传 Tomcat 压缩包安装包

2、解压到 /usr/local/Tomcat

tar -zxvf ./apache-tomcat-8.5.15.tar.gz 后面不写路径表示解压到当前目录下

3、文件重命名

mv 文件名 修改后的文件名

4、配置环境变量 vim /etc/profile

export TOMCAT_HOME=/usr/local/Tomcat/tomcat
export CLASSPATH=$TOMCAT_HOME/lib/servlet-api.jar

5、启动 Tomcat/ 关闭 Tomcat

$TOMCAT_HOME/bin/startup.sh $TOMCAT_HOME/bin/hutdown.sh

6、查看 Tomcat 日志 Ctrl + C 退出

tail -f ./logs/catalina.out

五、安装 MySQL
1、上传 MySQL 压缩包安装包

2、查看是否已经安装 mysql

rpm -qa |grep mysql
rpm -qa |grep mariadb

3、卸载已安装的 mysql

rpm -e –nodeps mariadb-libs-5.5.56-2.el7.x86_64

4、yum 安装的删除

rpm -qa |grep mysql
yum remove 删除的文件名

检查是否有残余 :rpm -qa |greq -i mysql 如果有再次卸载

终极检查 : 再来一遍 rpm -qa |greq -i mysql 看看还有没有残留

清理文件 :find / -name mysql

删除文件:rm -rf 删除的目录

5、安装

单个文件安装 :
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm 注意 : 要安装顺序安装
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm

如果安装出现这个错误 (没有出现就不管):
依赖检测失败 :
/usr/bin/perl 被 mysql-community-server-5.7.27-1.el7.x86_64 需要
perl(Getopt::Long) 被 mysql-community-server-5.7.27-1.el7.x86_64 需要
perl(strict) 被 mysql-community-server-5.7.27-1.el7.x86_64 需要
安装依赖 (需要网络):
yum -y install perl.x86_64
yum install -y libaio.x86_64
yum -y install net-tools.x86_64
就可以正常安装了

6、查看 mysql 是否安装成功

service mysqld status

7、启动 MySQL 服务

service mysqld start

8、停止 MySQL 服务

service mysqld stop

9、查看 MySQL 的随机密码

查看随机密码 :grep 'temporary password' /var/log/mysqld.log //B,eXzjQqd5RE

10、连接数据库

mysql -u root -p

11、修改安全级别

set global validate_password_policy=0; // 将密码安全级别设置为 0 , 就表示只验证密码的长度
set global validate_password_length=1; // 将密码的默认长度验证设置为 1.

12、修改 MySQL 数据库密码

alter user 'root'@'localhost' identified by '123456';

13、查看 mysql 的字符编码

show variables like 'character%';

14、进入配置文件

vim /etc/my.cnf

15、修改

在 [mysqld] 下面添加 :character-set-server=utf8

16、重启 MySQL 服务

service mysqld stop
service mysqld start

17、再次查看编码

show variables like 'character%';

18、设置允许远程连接数据库

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Cuihao123!@#' WITH GRANT OPTION;
flush privileges;

19、设置防火墙

查看防火墙设置 :firewall-cmd –list-all
启动防火墙 :service firewalld start
关闭防火墙 :service firewalld stop 注意 : 自己的服务器建议关闭 , 麻烦
开放 3306 端口 :firewall-cmd –permanent –add-port=3306/tcp
删除端口 :firewall-cmd –permanent –remove-port=3306/tcp

20、如果是云端服务器需要配置服务器的安全组

安全组 : 添加 3306 端口

六、安装 Maven
1、上传到服务器

2、解压

tar -zxvf ./apache-maven-3.8.3-bin.tar.gz

3、配置环境变量

vi /etc/profile

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3 // 自己的 Maven 路径
export PATH=${MAVEN_HOME}/bin:${PATH}

Esc 退出编辑 :wq 退出

source /etc/profile // 刷新配置
mvn -v // 查看是否安装成功

4、配置镜像和仓库

打开 maven 的 conf 目录下的 settings.xml 文件

镜像 :
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

仓库 :
<localRepository> 根据自己的仓库地址来 </localRepository>

七、安装 Redis
1、上传到服务器

2、在 /usr/local/ 下创建 redis ⽂件夹并进⼊

cd /usr/local/
mkdir redis
cd redis

3、将 Redis 安装包解压到 /usr/local/redis 中即可

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

4、解压完之后 , /usr/local/redis ⽬录中会出现⼀个 redis-5.0.8 的⽬录

5、编译并安装 如果有了 redis 要重新装的 必须要把 redis 彻底删除干净

cd redis-5.0.8/
make && make install

注意安装 6.0 也上的 Redis 可能出现 gcc 依赖版本过低 , 执行 make && make install 一直编译报错
1、把 reids 的解压目录删掉依次执行下面代码
yum -y install gcc-c++ #必须联网
gcc -v
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
2、设置永久升级 (注意 :scl 命令启用只是临时的 , 推出 xshell 或者重启虚拟机就会恢复到原来的 gcc 版本。如果要长期生效的话)
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

重新解压开始操作

6、进⼊ utils ⽬录 , 并执⾏如下脚本即可

[root@localhost redis-5.0.8]# cd utils/
[root@localhost utils]# ./install_server.sh

如果出现 :Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry! 错误
解决方法 :vim /install_server.sh
找到代码 : 差不多在 76 行

#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if ["${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi

按 i 进入编辑
然后注释掉这些代码
在按 Esc 退出编辑模式 按:wq 退出并保存

在执行./install_server.sh 出现 Installation successful! 就是成功了

7、查看 Redis 是否启动

systemctl status redis_6379.service // 我不介意使用系统给的服务 建议自己自定义一个服务
1
自定义启动脚本

跑到 /etc/systemd/system/ 路径下面新建一个服务文件 (注意不是文件夹哟)
touch redis.service 新建服务文件
chmod +x redis.service 给文件权限
编辑文件 :
[Unit] // 基础信息
Description=Redis // 描述
After=network.target // 是在那个服务后面启动 , 一般是网络服务启动后启动

[Service] // 服务信息
// 启动服务的命令
ExecStart=redis-server 服务路径 / 配置文件路径 –daemonize no
// 是停止服务的指令
ExecStop=redis-cli 服务路径 -h IP 地址 -p 6379 shutdown

[Install]
WantedBy=multi-user.target // 是以哪种方式启动 :multi-user.target 表明当系统以多用户方式 ( 默认的运行级别 ) 启动时 , 这个服务需要被自动运行。
保存退出
刷新配置:systemctl daemon-reload
启动:systemctl start redis
重启:systemctl restart redis
停止:systemctl stop redis

8、启动⾃带的 redis-cli 客户端

redis-cli 进入后
set a haha
get a 输出 :haha

9、设置允许远程连接

编辑 redis 配置⽂件 vim /etc/redis/6379.conf
①. 将 bind 127.0.0.1 修改为 0.0.0.0

10、然后重启 Redis 服务即可

systemctl restart redis

11、设置访问密码

vim /etc/redis/6379.conf
找到如下内容 : #requirepass foobared
去掉注释 , 将 foobared 修改为⾃⼰想要的密码 , 保存即可。比如 :requirepass Crazyhao
重启 Redis 服务

12、验证

redis-cli 这次要输入密码 进入后
set a haha
get a 输出 :haha

八、安装 Node
1、上传到服务器

2、在 /usr/local/ 下创建 node ⽂件夹并进⼊

cd /usr/local/
mkdir node
cd node

3、将 Node 的安装包解压到 /usr/local/node 中即可

[root@localhost node]# tar -xJvf /root/node-v12.16.3-linux-x64.tar.xz -C ./

4、解压完之后 , /usr/local/node ⽬录中会出现⼀个 node-v12.16.3-linux-x64 的⽬录

5、编辑 vim /.bash_profile ⽂件 , 在⽂件末尾追加如下信息

# Nodejs
export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH

6、刷新环境变量 , 使之⽣效即可

source ~/.bash_profile

7、检查安装结果

node -v
npm version 都有版本输出
npx -v

九、安装 Nginx
1、上传到服务器

2、在 /usr/local/ 下创建 nginx ⽂件夹并进⼊

cd /usr/local/
mkdir nginx
cd nginx

3、将 Nginx 安装包解压到 /usr/local/nginx 中即可

[root@localhost nginx]# tar zxvf /root/nginx-1.17.10.tar.gz -C ./

4、解压完之后 , /usr/local/nginx ⽬录中会出现⼀个 nginx-1.17.10 的⽬录

5、预先安装额外的依赖

yum -y install pcre-devel
yum -y install openssl openssl-devel

6、编译安装 NGINX

cd nginx-1.17.10
// 设置 Nginx 支持 ssl
./configure –prefix=/usr/local/nginx –with-http_ssl_module

// 支持 ssl 的同时支持 fdfs 插件 , 如果没有可以忽略此步骤
./configure –prefix=/usr/local/nginx –with-http_ssl_module –add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src(后面路径是你的插件安装地址)

make && make install

7、安装完成后 ,Nginx 的可执⾏⽂件位置位于

/usr/local/nginx/sbin/nginx

8、相关命令

①. 进入 /usr/local/nginx/sbin/nginx/sbin 目录
./nginx 启动 nginx
./nginx -s stop 关闭 nginx
./nginx -s reload 修改 nginx.conf 配置后需要刷新 刷新不用关闭 nginx
nginx.conf 路径在 /usr/local/nginx/sbin/nginx/conf

十、上传前端项目并部署
1、将前端项目打包成 zip 上传到服务器

2、在 cd /home 路径下面创建自己的前端文件夹

3、解压

unzip 文件名

4、删除原来的文件

rm -rf 文件名

5、前端项目安装依赖

npm install –unsafe-perm –registry=https://registry.npm.taobao.org

6、前端项目开始打包

npm run build:prod

7、修改 Nginx 的配置

修改 /usr/local/nginx/conf/nginx.conf

43 行
location / {
root /home/ruoyi-ui/ruoyi-ui/dist; // 自己的前端打包路径
index index.html index.htm;
}

8、浏览器测试

十一、上传后端项目并部署
1、上传后端项目 jar 包或者 war 包 (服务器上面打包比较慢 , 所以我就在本地打的包 ,springboot 项目我推荐就 jar 包)

2、在 cd /home 路径下面创建自己的后端文件夹

3、jar 包启动测试 进入自己的后端文件夹

java -jar 包名.jar 没有报错就可以 Ctrl+C 关闭

4、jar 包启动方式

java -jar 包名.jar 这种启动方式 Ctrl+C 可以关闭 (不推荐) 可以写服务脚本启动 (推荐)
nohup java -jar 包名.jar & 启动 这种方式 Ctrl+C 关闭不了 (推荐) 关闭需要关闭进程

实时查看日志 :tail -f 日志文件
查看进程 :ps -ef |grep jar
杀死进程 :kill -9 进程码

5、war 包启动方式 (Tomcat)

①.war 包放到 tomcat 的 wabapp 目录下
②. 在 Tomcat 的 server.xml 配置文件中配置 <Context path="/" docBase="war 包路径 " reloadable="true"/>
③. 重新启动 tomcat 就行了

6、修改 nginx.conf 实现前后端联调

server {
listen 80;
server_name localhost;
proxy_set_header Host $host;

location / {
root / 前端项目路径 /dist/;
try_files $uri /index.html;
index index.html index.htm;
}

location /warehouse/ {// 后端的接口路径 不知道的可以看前端浏览器 F12 查看网络
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Agent,X- Requested-Wind,If-Modified-Since,Cache-Control,Content-Type,Authorization';
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_pass http://47.108.211.186:10088; // 调转后端的路径
}
}

原文链接:https://blog.csdn.net/weixin_52428855/article/details/121907888

正文完
 
追风者
版权声明:本站原创文章,由 追风者 2024-01-02发表,共计9050字。
转载说明:声明:本站内容均来自互联网,归原创作者所有,如有侵权必删除。 本站文章皆由CC-4.0协议发布。