• Linux云服务器部署项目


    准备

    1. 购买云服务器【阿里云,腾讯云都可以】
      在这里插入图片描述
    2. 重置密码

    环境搭建

    使用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(英文状态)

    插入下面四行语句
    在这里插入图片描述

    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端口打开,用完就关闭,这样安全些

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

    项目部署

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

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

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

    配置域名访问(http)

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

    1. 添加解析
      在这里插入图片描述
      点进去后如下,可以看到这里是空的,因为没有添加任何解析,咱们点击添加解析,然后添加自己的域名
      在这里插入图片描述
      在这里插入图片描述
      添加后会有一条添加域名信息,点击域名,这里要添加三条记录,以下三条:

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

    @:表示直接解析域名
    www:解析域名通过www访问
    xxxx(二级域名):解析通过二级域名访问,我这里配置的是onestar二级域名
    这里添加后如下,记录值为自己服务器的公网IP
    在这里插入图片描述
    添加完成后就可以使用域名进行访问了,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
    

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

  • 相关阅读:
    vim官方教程
    vim命令
    vim设置——/home/.vimrc设置
    Django中静态及媒体文件的引用设置
    博客园特效,拖动鼠标吸附线条
    机器学习工具Octave安装(Win10环境)
    【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
    Anaconda 安装教程(Win10环境) Tensorflow安装
    博客园 设置各级标题样式
    Android WebView 捕捉点击的URL中的信息
  • 原文地址:https://www.cnblogs.com/joker-dj/p/14081488.html
Copyright © 2020-2023  润新知