为什么前后端要分离?
1.更好地解耦
2.更好地分工合作,提高研发效率。
3.更好的性能
4.Web开发技术发展的大势所趋。
准备工作
1.前端
构建环境:Node(是用来运行js)、Npm(前端的包)、VsCode、Git
运行环境:Chrome、VsCode、Vue
部署环境:Nginx(高性能Web服务器)
2.后端
构建环境:JDK、Maven、Git
运行环境:JRE、Idea、Mysql、Redis:首先修改:vim /etc/redis/redis.conf然后启动:systemctl stop redis,redis-server ../etc/redis.conf,、Tomcat(高性能Web容器,Springboot项目内嵌的)
部署环境:JDK、MySQL、Redis、Tomcat
部署
首先还是要做到本地能够启动并且正常运行
前端部署
本地准备阶段:
1.构建生产环境,得到打包后产物:dist
npm run build:prod
2.使用git压缩前端资源包
tar -zvcf dis.tar.gz dist/
服务器:
1.拷贝到准备好用来部署的服务器的指定目录
2.解压到当前目录
tar xzf dist.tar.gz
3.对nginx进行配置:vim /etc/nginx/sites-enabled/default
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /usr/local/project/dist;#前端打包的位置
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location ^~ /prod-api/ {
proxy_pass http://192.168.117.132:8082/;
proxy_send_timeout 1800;
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
client_max_body_size 2048m;
proxy_http_version 1.1;
}
3.启动nginx
如果启动不成功可以用:pkill -9 nginx
/usr/sbin/nginx -c /etc/nginx/nginx.conf
4.访问
后端部署
本地准备阶段:
使用Maven打包构建
服务器:
1. 拷贝jar 或者war到准备好用来部署服务器(需要JDK环境)的指定目录
2.启动项目
3.访问
总结
后续更新前后端分离,后端集群版部署还有微服务分布式部署和微服务集群版部署还有docker容器化部署。