Linux云服务器部署项目

51次阅读

准备

  1. 购买云服务器【阿里云,腾讯云都可以】
    Linux云服务器部署项目插图
  2. 重置密码 Linux云服务器部署项目插图1

环境搭建

使用 xshell 连接云服务器

安装 JDK

Linux 上使用 yum 命令后,会将 OpenJDK 安装到 /usr/lib/jvm/ 目录下

# 安装 OpenJDK yum install -y java-1.8.0-openjdk.x86_64 
  1. 配置 jdk 环境变量
# 打开配置文件 vim /etc/profile 

进入文本编辑状态下,光标走到文件最后一行末尾(shift+g 快速定位到文件的最下方),键盘按下:i(英文状态)

插入下面四行语句
Linux云服务器部署项目插图2

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64 export JRE_HOME=/$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 

:wq 保存退出
2. 让环境变量生效

source /etc/profile 
  1. 检查 JDK 是否安装成功
java -version [root@VM-0-2-centos jvm]# java -version openjdk version "1.8.0_262" OpenJDK Runtime Environment (build 1.8.0_262-b10) OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode) 

MySQL5.7 安装

  1. 下载 MySQL
# 下载 MySQL 安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm #安装 yum 源 rpm -Uvh mysql57-community-release-el7-11.noarch.rpm #查看 yum 仓库 MySQL 的启动列表 yum repolist enabled | grep mysql #安装 MySQL 数据库 yum install mysql-community-server 
  1. 启动 MySQL 服务
# 启动 MySQL 服务 systemctl start mysqld #查看 MySQL 启动状态 systemctl status mysqld #设置开机启动 systemctl enable mysqld systemctl daemon-reload 
  1. 登录重置密码
MySQL 安装完成后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码,可以通过命令查看密码:grep "temporary password" /var/log/mysqld.log 

然后可以使用这个密码登陆 MySQL

mysql -uroot -p 

回车输入密码登陆数据库,第一次登陆需要重置密码,以下命令重置:
首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句“set global validate_password_policy=LOW;”进行设值

set global validate_password_policy=LOW; ALTER user 'root'@'localhost' identified by '123456'; 

重置后使用新密码可以登陆,操作数据库

注:这里是将密码修改为‘123456’,这里只是示范,可别弄这么简单的密码,要不然数据怎么丢的都不知道

到这里数据库就安装完成了,已经可以满足部署项目的基本需求了,这里再另外多讲两点:数据库配置、数据库授权

  1. 数据库配置
    数据库配置是通过 /etc/my.cnf 文件进行配置,这里配置一下字符集为 utf8mb4,打开 my.cnf 文件:vim /etc/my.cnf , 在文件末尾添加:
# 设置数据库字符集为 utf8mb4 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4' lower_case_table_names = 1 # 表名不区分大小写 

修改完成后,重启 MySQL 服务:

# 重启 MySQL systemctl restart mysqld 
  1. 数据库授权
    为了方便对数据库进行操作,一般都是使用可视化软件对数据库进行远程连接,但如果任何一台机子都可以对你的服务器数据库进行远程连接,那就不安全了,这里就需要对数据库进行授权,指定可以远程连接的数据库,没有授权就只能支持 localhost 本地访问了。
# 登陆数据库 mysql -uroot -p # 使用数据库 use mysql; # 设置权限 set global validate_password_policy=LOW; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; # 刷新权限 flush privileges; #退出,重启服务器 service mysqld restart 

设置权限那一句:

*. *:表示 所有库. 所有表
‘root’@’%’ identified by ‘root’:
前一个 root:表示用户名,
%:是指所有访问 ip
后一个 root:表示数据库密码
通过这一句可以配置远程访问的数据库和访问的 IP,博主一般是直接配置 ’%’ 所有 IP 都能访问,因为有时候开发需求会改变 IP,如果指定 IP 的话就不方便,所以配置了 ’%’,一般情况下是将 3306 端口给关闭,需要远程连接的时候再把 3306 端口打开,用完就关闭,这样安全些

为了方便操作,这里可以将服务器的安全组进行修改,咱们打开服务器的实例控制台,找到安全组规则,点开编辑入站规则,可以看到服务器有两条默认规则,可以看到第一条是将所有服务端口都开放了,这样不太安全,所以这里将它关闭,然后打开需要配置的端口
Linux云服务器部署项目插图3
拒绝所有协议端口
点击第一条的编辑,将允许改为拒绝,然后保存
Linux云服务器部署项目插图4
添加 22 端口和 3306 端口
22 端口是 SSH 远程连接用的,3306 是数据库远程连接用的
点击添加规则,添加如下两条,点击完成,即可远程连接数据库
Linux云服务器部署项目插图5
注:平时不用远程连接数据库的时候可以将 3306 端口给关了,用的时候再打开

项目部署

点击 idea 右边的 Maven Projects,双击 clean,执行完后再双击 package
Linux云服务器部署项目插图6
不出意外,控制台会显示 BUILD SUCCESS,并有 jar 包文件的大小,在 target 文件夹下面会生成一个 myblog-0.0.1-SNAPSHOT.jar 的 jar 包,这个就是要上传到服务器进行部署的 jar 包。
Linux云服务器部署项目插图7

  1. 部署
    将刚生成的 jar 包上传到服务器上,进行部署,这里要注意上传之前要将项目的数据库配置换成服务器的数据库
  2. 上传
# 创建文件夹 mkdir myblog # 进入目录 cd myblog 
  1. 关闭防火墙,开放项目端口
  • 防火墙相关
# 查看防火墙状态 systemctl status firewalld # 打开防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop firewalld 
  • 开放 8080 端口
    进入服务器控制台安全组规则,添加规则,开放 8080 端口,开放后如下:
    Linux云服务器部署项目插图8
    运行 jar 包
    这里让 jar 包在服务器后台运行,进入 jar 包文件夹,执行命令运行 jar 包
# 进入 jar 包文件夹 cd /home/myblog # 后台运行 jar 包 java -jar dj-1.0.jar ctrl+z bg exit 

访问
在浏览器中访问服务器的 8080 端口

配置域名访问(http)

一般来说,一个服务器不止跑一个服务(看自己需求,当然也可以只跑一个),每个服务都是使用一个二级域名来进行访问,所以这里配置二级域名进行访问

  1. 添加解析
    Linux云服务器部署项目插图9
    点进去后如下,可以看到这里是空的,因为没有添加任何解析,咱们点击添加解析,然后添加自己的域名
    Linux云服务器部署项目插图10
    Linux云服务器部署项目插图11
    添加后会有一条添加域名信息,点击域名,这里要添加三条记录,以下三条:

注:如果只是要配置自己的网站能够通过域名访问,那就只需要配置下满截图中的第三条二级域名就可以了,但是一般来说,一个服务器不只是通过二级域名访问,还会有直接访问和

@:表示直接解析域名
www:解析域名通过 www 访问
xxxx(二级域名):解析通过二级域名访问,我这里配置的是 onestar 二级域名
这里添加后如下,记录值为自己服务器的公网 IP
Linux云服务器部署项目插图12
添加完成后就可以使用域名进行访问了,But,这样直接访问的话,访问的是服务器默认访问的 80 端口,而我们项目用的端口是 8080,所以这里要将端口进行转发,将 8080 端口转发到域名,这里就要用到反向代理的技术了。

反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。这里使用 NGINX 反向代理,将 80 端口转发到 8080 端口,需要对 NGINX 进行配置,所以要先下载 NGINX

  1. 下载安装 NGINX
# 下载 NGINX:yum install nginx # 启动 nginx:systemctl start nginx # 加入开机启动:systemctl enable nginx # 查看 nginx 的状态:systemctl status nginx 
  1. 配置 NGINX
    下载后需要对 NGINX 进行配置,这里的配置文件是 nginx.conf,可以使用命令 find / -name “nginx.conf” 进行查找,默认是在 /etc/nginx/nginx.conf,咱们来进行配置:
# 打开 nginx.conf 配置文件 vim /etc/nginx/nginx.conf 

添加如下配置:

server {listen 80;# 记得开放 80 端口 server_name blogs.jokerdj.top;# 域名地址 location / { proxy_pass http://121.43.145.142:8080;# 项目地址} } 

这里我们了解一下几点就可以了:

listen:监听 80 端口
server_name:转发到哪个地址,也就是前面配置的二级域名地址
proxy_pass:代理到哪个地址,也就是要访问的服务器端口地址

  1. 重启 NGINX
# 重启:nginx -s reload 

重启后服务就生效,可以使用域名进行访问了

原文链接:https://www.cnblogs.com/joker-dj/p/14081488.html

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