• 【Linux】部署单体项目以及前后端分离项目(项目部署)


    目录

    一、简介

    1、Linux部署单机项目:

    2、前后端分离项目:

    二、单体项目

    1、共享文件

    2、运行sql文件

    3、解压项目放入tomcat

    4、打开tomcat服务

    5、启动项目

    6、出现用户不存在

    三、前后端分离项目部署

    1、导入项目

    2、查看配置

    3、运行sql文件

    4、在虚拟机配置node

    5、启动

    5.1、解决一

    启动1

    启动2

    5.2、解决二


    一、简介

    以下就是Linux部署单机项目和前后端分离项目的优缺点,希望对你有所帮助。

    1、Linux部署单机项目:


    优点:

    1. 简化了系统管理:由于所有服务都在同一台机器上运行,因此可以简化系统管理和维护。
    2. 提高了性能:由于没有网络延迟和其他因素的影响,所以可以提高系统的性能。

    缺点:

    1. 容易出现故障:如果一台机器发生故障,那么整个系统都会受到影响。
    2. 难以扩展:随着业务的发展,可能需要增加更多的服务器来处理请求,但是这在单机项目中是很难实现的。

    2、前后端分离项目


    优点:

    1. 易于扩展:由于前端和后端是分开的,所以可以根据需求添加或删除服务器,从而更容易地进行扩展。
    2. 更高的灵活性:前端和后端可以独立开发和测试,这样可以更快地推出新的功能。

    缺点:

    1. 复杂性增加:由于需要管理和协调多个服务器,所以可能会增加系统的复杂性。
    2. 性能问题:由于需要通过网络传输数据,所以可能会出现网络延迟等问题,影响系统的性能。

    二、单体项目

    在部署项目到虚拟机之前我们要把我的sql数据和war包在自己的电脑上进行部署,看有没有问题在进行到虚拟机上面进行部署

    1、共享文件

    主机连接虚拟机共享数据文件和war包项目。

    2、运行sql文件

    找到sql文件,在数据库里面运行我们的sql文件。

    文件选择我的sql文件路径;

    3、解压项目放入tomcat

    解压项目(我们的war包)放入tomcat服务器或者放入任何的其他服务器。我这里以tomcat为例:

    4、打开tomcat服务

    在虚拟机中找到tomcat服务器的bin目录下的startup.bat,双击运行后。

    5、启动项目

    回到我们的主机在浏览器中输入ip地址+访问路径即可访问。

    6、出现用户不存在

    如果你的项目运行登录的时候。如果出现用户不存在,可以查看你虚拟机里面的报错,大概是这个项目的配置文件,配置sql的数据库不对

    我们在我们放war包位置,可以看到我们的项目被解压出来了,我们可以在里面找到我们的配置文件,更改我们的数据库名。

    我这里的配置文件名是config.properties

    看这些位置是否与虚拟机里的一样。

    更改后访问重启tomcat服务,重新访问。

    三、前后端分离项目部署

    1、导入项目

    还是一样把我们的war包放入tomcat中的webapp里面。

    2、查看配置

    运行我们的tomcat解析我们的项目之后,找到我们的配置数据库的文件。

    打开tomcat服务

    启动项目

    3、运行sql文件

    在我们的虚拟机里面新建数据库,运行我们所需要的sql文件。

    更改我们虚拟机的配置后重启tomcat。

    4、在虚拟机配置node

    下载配置查看【Vue+NodeJS】vue路由及NodeJS环境搭建(Windows版)-CSDN博客

    5、启动

    1. 启动tomcat
    2. 在我们的spa项目里面cmd命令打开窗口,输入命令npm run dev

    前后端分离的项目如果直接这么访问就会访问不到,只有虚拟机自己才可访问。

    5.1、解决一

    利用nginx做反向代理处理该问题,在nginx文件中找到nginx.conf 文件,将文件种的 location 进行修改。

    nginx: download

    1. #user nobody;
    2. worker_processes 1;
    3. #error_log logs/error.log;
    4. #error_log logs/error.log notice;
    5. #error_log logs/error.log info;
    6. #pid logs/nginx.pid;
    7. events {
    8. worker_connections 1024;
    9. }
    10. http {
    11. include mime.types;
    12. default_type application/octet-stream;
    13. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    14. # '$status $body_bytes_sent "$http_referer" '
    15. # '"$http_user_agent" "$http_x_forwarded_for"';
    16. #access_log logs/access.log main;
    17. sendfile on;
    18. #tcp_nopush on;
    19. #keepalive_timeout 0;
    20. keepalive_timeout 65;
    21. #gzip on;
    22. server {
    23. listen 80;
    24. server_name localhost;
    25. #charset koi8-r;
    26. #access_log logs/host.access.log main;
    27. location / {
    28. proxy_pass http://localhost:8081;
    29. }
    30. #error_page 404 /404.html;
    31. # redirect server error pages to the static page /50x.html
    32. #
    33. error_page 500 502 503 504 /50x.html;
    34. location = /50x.html {
    35. root html;
    36. }
    37. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    38. #
    39. #location ~ \.php$ {
    40. # proxy_pass http://127.0.0.1;
    41. #}
    42. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    43. #
    44. #location ~ \.php$ {
    45. # root html;
    46. # fastcgi_pass 127.0.0.1:9000;
    47. # fastcgi_index index.php;
    48. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    49. # include fastcgi_params;
    50. #}
    51. # deny access to .htaccess files, if Apache's document root
    52. # concurs with nginx's one
    53. #
    54. #location ~ /\.ht {
    55. # deny all;
    56. #}
    57. }
    58. # another virtual host using mix of IP-, name-, and port-based configuration
    59. #
    60. #server {
    61. # listen 8000;
    62. # listen somename:8080;
    63. # server_name somename alias another.alias;
    64. # location / {
    65. # root html;
    66. # index index.html index.htm;
    67. # }
    68. #}
    69. # HTTPS server
    70. #
    71. #server {
    72. # listen 443 ssl;
    73. # server_name localhost;
    74. # ssl_certificate cert.pem;
    75. # ssl_certificate_key cert.key;
    76. # ssl_session_cache shared:SSL:1m;
    77. # ssl_session_timeout 5m;
    78. # ssl_ciphers HIGH:!aNULL:!MD5;
    79. # ssl_prefer_server_ciphers on;
    80. # location / {
    81. # root html;
    82. # index index.html index.htm;
    83. # }
    84. #}
    85. }

    启动1

    nginx根目录下输入cmd进入命令窗口输入 nginx.exe -s reload重启

    启动2

    双击启动文件

    最后就可以进行访问了!!!

    5.2、解决二

    在spa项目中找到config文件下的index.jshost:'localhost'改为0.0.0.0

    最后也可以进行访问了!!!

  • 相关阅读:
    vue3+three.js实现疫情可视化
    CentOS 安装 rabbitMQ
    【数据结构】顺序表的增删查改 (C语言实现)
    【51单片机论流水灯的工作原理】2023-10-3
    MongoDB第二话 -- MongoDB高可用集群实现
    [Linux]下制作简易myshell
    洛谷P3574 FAR-FarmCraft
    Business Objects单一报表升级为全套商业智能BI产品,探索更多平台与行业
    不同厂商IPC网页监控时延
    国考省考申论:2次阅读法:1读感知材料类型和段落关系,2读根据问题词,原因词,影响词,对策词,关联词把握得分要点
  • 原文地址:https://blog.csdn.net/weixin_74383330/article/details/134069050