介绍
项目部署的方式很多,针对不同的项目也有不一样方式,下面说一下常见的项目部署是怎么样的。
首先呢你需要有一个云服务器 💰。文章有错误会第一之间在我的博客更新,有问题也可以在上面提出👆🏻,看到会第一时间回复
基本配置
以 node.js 的 express 为例,
const express = require("express");
const app = express();
// 静态资源路径
app.use(express.static(path.join(__dirname, "dist")));
然后将打包好的 dist 文件的内容放到 dist 目录下,此时前端代码的 BASE_URL 可以为空,这样会自动带上当前的路径直接请求后端接口。然后使用pm2
启动后端的 node 服务pm2 start app.js --name expo
,然后使用 nginx 将域名和端口关联起来即可。
server {
listen 443;
ssl on;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name expo.liufashi.top; #需要将yourdomain替换成证书绑定的域名。
ssl_certificate ssl/expo/expo.liufashi.top.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key ssl/expo/expo.liufashi.top.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
root /root/app/dist;
index index.html;
proxy_pass http://localhost:3000;
}
}
server {
listen 80;
server_name expo.liufashi.top; #需要将y