• 部署前后端分离项目


    技术框架

    前端:无所谓,因为打包后最终都是以index.html为入口,只需要指定一个入口界面即可
    后端:springboot框架,打包成jar包放在服务器上

    用到的Linux命令

    • 链接服务器:ssh root@192.168.1.1
    • 上传文件到服务器:scp 本地文件路径 root@192.168.1.1:服务器端路径
    • 解压文件:unzip ./file
    • 启动nginx: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    • 启动数据库:systemctl start mysqld.service
    • 查看端口号服务:lsof -i:端口号
    • 导入mysql文件: source /文件路径

    BEGIN_ONE_链接服务器

    刚买的服务器直接用ssh链接会报错,需要
    1.密码进行初始化
    2.遇到类似于下列图图片的报错,需要vim 到红色文件中清空文件中的所有内容

    BEGIN_TWO_上传资源到服务器

    我们把文件尽量都放到一个文件夹下,比如我放在opt文件夹中
    使用scp命令上传文件一般包含以下几类文件
    1.前端文件
    2.后端jar包
    3.数据库sql文件
    4.启动java服务的sh文件 (sh文件我就不贴代码了,需要的加我微信我发给你文件即可:15229228792

    BEGIN_THREE_安装java环境

    • 就一行:中途需要敲一次确认也就是y键
    • yum install java
    • 给sh文件添加权限:chomd u+x ./springboot.sh
    • 执行./springboot.sh start
    • 后端服务就启动起来了

    BEGIN_FORE_安装Mysql

    • wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    • yum -y install mysql57-community-release-el7-10.noarch.rpm
    • rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    • yum module disable mysql
    • yum -y install mysql-community-server
    • systemctl start mysqld.service(如果这里报没有权限的错误:试试chown mysql:mysql -R /var/lib/mysql)
    • 查看初始化密码:grep ‘password’ /var/log/mysqld.log(冒号后面的就是密码)
    • 登陆数据库:mysql -u root -p
    • 需要重置数据库密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘12345678’;
    • 创建新的库:create database blog;
    • 导入sql文件:source /sql文件路径
    • 退出mysql:exit;

    BEGIN_FIVE_安装Nginx

    以下命令根据顺序依次执行即可

    • yum -y install pcre-devel openssl openssl-devel
    • wget http://nginx.org/download/nginx-1.18.0.tar.gz
    • tar -zxvf nginx-1.18.0.tar.gz
    • cd nginx-1.18.0
    • chmod 777 configure
    • ./configure --prefix=/usr/local/nginx
    • make&&make install
    • 修改nginx中的配置文件,改为你们前端和后端所需要的配置即可(主要体现在为了拦截资源请求和解决跨域问题的一些配置,代码如下:)
    • 修改完配置以后启动nginx即可: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
    • 解释下面的配置文件做了哪些事情:
    • 因为我配置了域名,所以我必须拦截80端口,通过拦截请求地址不同的部分,去代理到不同的资源地址或者接口服务即可。
    
    user  root; worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024; }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        #                  '$status $body_bytes_sent "$http_referer" '
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log off;
    
        sendfile        on;
        #tcp_nopush     on;
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on; 	client_max_body_size 100m;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
            server{
                listen 80;
    
                location ~ /blogResource/ {
                    root /opt/blogResource/;
                }
    
                location ~ /blogServer/ {
                    proxy_pass  http://127.0.0.1:9999
                }
    
                location / {
                        root /opt/blogweb/;
                        index index.html;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        } }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52

    到这里服务器的事情就结束了,剩下的就是云平台的事情了(比如我用的是阿里云),你需要打开你使用的一些安全组,也就是端口号需要打开一下:比如数据库的3306,总结就是你使用到了哪些端口,都打开就行了。
    现在就可以通过ip或者你也可以绑定域名去访问你的网站了

  • 相关阅读:
    计算机毕业设计Java校园疫情信息管理系统(源码+系统+mysql数据库+Lw文档)
    信息学奥赛一本通-编程启蒙3349:练60.3 余数个数
    基于注解的Spring MVC实例开发过程
    解决charles只能使用30分钟
    排列数字(深度优先搜索) C++实现
    latex小节标题如何靠左显示
    机构运动学分析
    mybatis-plus(mp)使用
    c语言通信之串口通信
    Java刷题面试系列习题(五)
  • 原文地址:https://blog.csdn.net/qyp_slw/article/details/125464881