项目部署||云服务器选择||宝塔手把手教程

发布于:2023-09-22 ⋅ 阅读:(90) ⋅ 点赞:(0)

服务器类别

  1. 轻量应用服务器 : 快速搭建服务,简单易用,提供了很多镜像
  2. 云服务器: 功能齐全、基础的服务器

Tips: BAT 美团、华为、京东 1 年换一家去买,利用新用户优惠, 便宜很多😉

宝塔 Linux (Linux 运维面板 1 核 2 G 能带动)

  1. 对于企业: 不建议使用
  2. 对于个人:可以快速搭建应用,强烈建议
  • 地区选择 ?
    广州是腾讯总部,更加成熟
    说了怎么多,其实 1 核 2 G 的也够用了。

  • 域名
    国内地域需要备案,中国香港地域不需要备案

  • SSH 连接服务器
    使用 Xsheel 免费版就够用了

  • 防火墙
    一定要先配置一下防火墙!

    • 禁用全部的 UDP

    • 禁用 window远程桌面登录

    • 限制 Linux登录的 IP 地址,查询自己的 IP 地址的方法:https://ip.900cha.com/

    • 限制宝塔 Linux 可以登录的 IP 地址

宝塔安装

纯净的系统,安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

云服务器

注意点:部署项目的放行端口(安全组)

  1. 初始化工作
    ●在宝塔上安装Tomcat(为了装java),Nginx, Mysql,docker
    ●安装完毕之后停止tomcat,在服务器防火墙中放行8888(宝塔),8080(后端项目),和 3306(数据库)
mysql远程连接

数据库准备:创建一个mysql超级用户(允许远程访问,并赋予所有权限),创建数据库和用户表
1建立一个远程登录用户 create user ‘username’@‘%’ identified with mysql_native_password ‘password’;
2授权登录用户读写删除修改 GRANT ALL ON database.* TO ‘username’@‘%’;
3navicat远程连接要process授权 GRANT PROCESS ON . TO ‘username’@‘%’;
4刷新 FLUSH PRIVILEGES;

项目部署

●宝塔部署前端:添加网站,PHP项目添加站点,在根目录下上传前端npm build 后dist目录中的所有内容
●docker部署后端:本地maven package生成jar包,将项目传到服务器上,根据Dockerfile build后端镜像,并启动该镜像
配置事项
●域名配置:由于域名注册和备案需要一段时间,暂时用ip访问
●跨域配置:在站点配置文件中设置允许跨域
○nginx的配置跨域 下面的Nginx配置用于设置CORS(跨源资源共享)头,用于处理特定位置的请求,也就是以"/api/"开头的URL。CORS头用于控制允许从不同域访问Web服务器上的资源。(前端请求以/api开头)

location ^~ /api/ {
    proxy_pass http://127.0.0.1:8080/api/;
    add_header 'Access-Control-Allow-Origin' $http_origin;
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers '*';
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Origin' $http_origin;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
    }
}

vercel

1api的密钥:
2部署ChatGPT-Next-Web项目用vercel 导入github的仓库 设置好环境变量 部署
3自定义vercel的域名 部署项目的设置中添加域名(域名需要解析到vercel提供的ip)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到