系列文章目录

Linux操作系统笔记【超详细】

本篇文章主要从准备篇、项目开发、项目打包、项目部署四个部分去介绍如何把前后端分离的项目部署到阿里云服务器,在服务器上去玩自己的项目。
项目最终效果图:输入ip即可访问!!!


文章目录

  • 系列文章目录
  • 前言
  • 一、准备篇
  • 二、项目开发及调试
  • 三、项目打包
  • 四、项目部署
  • 测试

前言

部署的大概的步骤流程如下图:


一、准备篇

1、阿里云服务器(Linux CentOS 7.3 64bit)
2、安装Xshell、Xftp连接工具并成功连接服务器。
3、在服务器上安装JDK、Mysql、Redis、Tomcat、Nginx等环境,并确保安装成功!
4、Mysql安装成功后,使用Navicat连接工具连接服务器上的Mysql。
5、Redis安装成功后,使用RedisDesktopManager连接工具连接服务器上的Reids。

二、项目开发及调试

部署的项目是之前做的一个小项目,Vue+SpringBoot前后端分离的项目。
1、执行SQL脚本,在服务器mysql上创建表。
2、修改Mysql连接配置。修改配置文件application.yml中Mysql数据库url、username、password为你实际服务器上数据库配置。
3、修改Redis的连接配置。修改Redis缓存的 host 、 password 等连接信息为你实际服务器上Redis配置。
4、本地运行测试。启动前端、后端项目确保项目成功运行。

三、项目打包

1、前端项目构建打包。切换到项目根目录下,执行下面命令。

npm run build:prod

注:构建打包成功之后,会在根⽬录⽣成 dist ⽂件夹,⾥⾯就是构建打包好的前端项⽬⽂件!
2、后端项目构建打包。为了方便起见,Spring Boot 由于自带 Tomcat 应用服务器,项目默认会打包为可执行的 jar 包。
切换到项目的根目录,执行 mvn package 命令即可构建打包。构建打包完成并可执行的 jar 包位于target文件夹。

四、项目部署

1、前端部署。使用Xftp工具将前端打包完成的dist文件夹,上传至服务器的/usr/local/web文件夹下。
修改Nginx的配置文件nginx.conf。位于目录/etc/nginx

修改配置如下:

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid  /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {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  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen       80 default_server;listen       [::]:80 default_server;server_name  118.31.187.5;#  root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root   /usr/local/web/dist;try_files $uri $uri/ /index.html;index  index.html;}location /prod-api/ {  # 反向代理到后端工程proxy_set_header Host $http_host;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_pass http://localhost:8088/;}#     error_page 404 /404.html;#     location = /404.html {#    }error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#        location = /404.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#        location = /50x.html {
#        }
#    }}

改动的地方如下:

  location / {root   /usr/local/web/dist;try_files $uri $uri/ /index.html;index  index.html;}
 location /prod-api/ {  # 反向代理到后端工程proxy_set_header Host $http_host;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_pass http://localhost:8088/;}

执行如下命令,重新加载 Nginx 使其生效。

nginx -s reload

2、后端部署。使用Xftp工具将打包完成的jar包,上传至服务器的/usr/local/web目录下面。
使用后台的方式启动后端工程。

nohup java -jar xx_web.jar >/dev/null 2>&1 &

注:阿里云服务器需要配置安全组,并支持端口访问;比如80,8080,3306、6379端口等。


测试

在浏览器的地址栏中,访问IP, 即可进入后台管理系统!!!

服务器项目部署总结(超详细)相关推荐

  1. LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤;Linux+Apache2+PHP+MySQL 安装和配置

    在Apache Web服务器上部署PHPBB3网站 LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤:Linux+Apache2+PHP+MySQL 安装和配置 ...

  2. 建站购买服务器前必看:服务器各参数的超详细说明

    购买服务器前必看,服务器各参数的超详细说明: 一问:什么是服务器?服务器能干什么用?服务器有哪些类型? 答:服务器可看做一台可以处理数据的机器,功用类似于我们生活中的电脑,用于存储网站文件的,例如网站 ...

  3. 上传项目到GitHub(超详细)

    上传项目到GitHub(超详细) 大家好,今天我们来学习一下如何把本地项目上传到GitHub ,好好看,好好学,超详细的 第一步 注册github账号 第二步 下载一个git工具并安装 第三步 注册好 ...

  4. Pyside2 学习系列二:PyInstaller打包项目exe (超详细的Pyside2 攻略)

    继上一篇文章创建了项目后,本章我们进行项目的打包工作. 本项目的所有演示代码:github可在这里下载. 打包只用的工具为PyInstaller. 打包步骤 1 准备环境 1.1 安装`PyInsta ...

  5. 买了云服务器不会用?写了网站不会部署?超详细springboot+vue前后端项目部署教程来啦

    大家好!我是未来村村长,就是那个"请你跟我这样做,我就跟你这样做!"的村长

  6. 【目标检测实验系列】AutoDL线上GPU服务器租用流程以及如何用Pycharm软件远程连接服务器进行模型训练 (以Pycharm远程训练Yolov5项目为例子 超详细)

    目录 1. 文章主要内容 2. 租用AutoDL服务器详细教程 2.1 注册AutoDL账号,并申请学生认证(学生认证有优惠,如果不是学生可以忽略此点) 2.2 算力市场选择GPU,并选择初始化配置环 ...

  7. java+maven项目+tapd+jenkins+gitlab+sonarqube+docker实现自动化持续部署(超详细)

    文章目录 前言 相关介绍 一.准备 环境 二.安装docker 开放docker 2375端口 三.docker安装gitlab 修改gitlab.rb配置文件 进入容器重启配置 修改http的clo ...

  8. svn增量打包部署_超详细的jenkins持续集成工作原理、功能、部署方式等介绍

    概述 今天简单整理了一下jenkins的一些概念性内容,归纳如下: 1.概念 jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实 ...

  9. linux下jenkins实现自动化部署(超详细)

    本文参照:https://blog.csdn.net/achuDk/article/details/78925081 但是有给出我在搭建中遇到的问题,和我解决的方法.现在我的配置是需要手动一键点击部署 ...

最新文章

  1. 基于模型的强化学习比无模型的强化学习更好?错!
  2. 7714天,王小川正式卸任搜狗CEO!用一瞬间定格永恒
  3. flutter设置文本最大宽度
  4. 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 尝试进行瞬移操作 | 尝试查找飞天漏洞 )
  5. 微信小程序之下拉加载和上拉刷新
  6. java接口获取天气预报json数据
  7. html页面加载时触发的方法,在页面加载时触发onchange html事件
  8. redis启动.停止.重启
  9. Web Application Security 网络应用程序安全 - (二)2010年网络安全威胁排行榜TOP 10...
  10. 开发者的盛宴Google I/O 2016
  11. 转载 --关于增量编译
  12. Linux驱动模块Makefile编写
  13. Windows防火墙设置
  14. 伽卡他卡学生端卸载方案
  15. 【PTA 7-9】剥洋葱
  16. Doris源码解析[一、负载均衡]
  17. 爬虫-使用代理ip,使用session
  18. WinDbg 命令学习 - !list
  19. matlab函数:residue和residuez的用法
  20. 管理学定律四:手表定律与破窗理论

热门文章

  1. Java 处理PDF文档(一):页眉页脚、水印、背景、附件
  2. Flex布局,真香!
  3. IntelliJ IDEA 中配置连接MySQL数据库
  4. 【论文阅读】BPR: Bayesian personalized ranking from implicit feedback
  5. 回文自动机 / 回文树
  6. 2021年特色导航网站大全已更新,值得你一览收藏本页
  7. IOS第三方框架集合
  8. python基于itchat实现微信群消息同步机器人
  9. 五、redis原理之sort set底层数据结构
  10. 从零开始的软路由之爱快虚拟机搭建openwrt