• un-app部署h5项目到普通云服务器--域名解析--OOS对象存储


    在这里插入图片描述

    在不不使用前端托管,自己买了一个云服务器的情况

    首先要进行云函数的url化

    之后是项目部署
    服务器一般是nginx

    安装nginx

    可以参考菜鸟网

    windows+jenkins+gitea+node+react

    https://juejin.cn/post/6888558115113926669
    先按照jdk环境
    之后下载gitea

    部署前端项目的几种方案

    前端部署三个方式
    https://blog.csdn.net/haonanhai1688/article/details/120846608

    使用nginx,tomcat,IIS等web服务器软件部署
    Docker容器部署
    OSS+CDN部署,还有OBS,COS
    
    • 1
    • 2
    • 3

    使用nginx在单个服务器部署

    https://blog.csdn.net/haonanhai1688/article/details/120846608
    nginx是一个高性能的http和反向代理web服务器,很多运维都使用它部署项目,使用nginx必须在服务器上安装nginx,如果感觉安装麻烦可以使用docker,几条命令就可以安装好docker
    安装好后把编译后的前端项目部署到刚刚安装的nginx里(需要用到docker的目录挂载),docker容器像黑匣子,需要使用目录挂载,把容器外的目录即宿主机的目录映射到容器内部

    docker命令部署
    比如编译后的目录前端资源存放在/home/fizz/dist里,只需要稍微修改一下就可以部署起来
    容器启动后访问http://localhost就可以了,注意当前用户必须要有/home/fizz/dist目录的权限
    使用nginx部署前端项目完成

    安装并运行一个nginx

    docker run -d -p 80:80 nginx
    
    • 1

    项目部署–把/home/fizz/dist里的映射到/usr/share/nginx/html里

    docker run -p 80:80 -v /home/fizz/dist:/usr/share/nginx/html nginx
    
    • 1

    nginx部署
    复杂一点就需要使用nginx配置文件部署项目
    在/home/fizz/nginx/config目录下创建 fizz.conf 注意结尾必须是 .conf结尾
    之后在文件里写入映射内容

    server {
        listen  8080;
        location / {
            root   /usr/share/nginx/html/fizz;
            index  index.html index.htm;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    之后是启动命令

    docker run -p 8080:8080
      -v /home/fizz/nginx/config:/etc/nginx/conf.d
      -v /home/fizz/dist:/usr/share/nginx/html/fizz
      nginx
    
    • 1
    • 2
    • 3
    • 4

    如果要配置https可以在fizz.conf里配置

    Dokcer容器部署
    使用docker容器部署最方便,但是要有docker知识,知道如何挂载目录,设置环境变量,如果不会使用docker
    docker使用:https://yeasy.gitbook.io/docker_practice/
    使用docker部署需要先把项目制作成docker镜像,之后上传到docker仓库,仓库可以是官方的docker hub也可以是自建的habor,也可以是阿里云的容器管理平台,之后在服务器上使用docker run命令把项目跑起来就可以了

    把项目制作成镜像
    比如一个使用vue-cli创建的标准项目
    先在项目根目录创建一个Dockerfile文件,内容:

    FROM node:latest as builder
    WORKDIR /app
    COPY package.json .
    RUN npm install --registry=http://registry.npm.taobao.org
    COPY . .
    RUN npm run build
     
    FROM nginx:latest
    COPY --from=builder /app/dist /usr/share/nginx/html
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    文件定义的内容是如何构建镜像,直接复制即可
    (先更新最新的node依赖包,之后工作目录是app,安装一下npm,运行build命令编译出项目,更新nginx,把编译好的dist目录复制到nginx镜像里)
    之后就可以使用docker命令build这个镜像了

    docker build -t myImageName 
    
    • 1

    如果不确定是否编译成功,可以运行docker images查看本地是否有该镜像
    有了之后就可以直接run镜像了

    docker run -d -p 8080:80 myImageName
    
    • 1

    如果要把镜像推送到镜像仓库,就使用ocker tag … 改成相应的名字,之后使用docker login … 登录到远程仓库,最后使用docker push …推送
    使用docker部署不仅方便而且能够使资源有效利用保证环境的一致性

    OSS+CDN部署
    如果项目对资源加载速度要求高,可以使用OSS+CDN部署
    OSS是指阿里云的对象存储,用于存储静态资源,比如html,js,css等
    开启cdn之后可以进行全球节点的加速,并且支持版本控制,网站托管
    阿里云叫OSS,华为云叫OBS,腾讯云叫COS
    oss部署网站要先开通oss服务,购买存储空间(对象存储资源包)

    https://common-buy.aliyun.com/?spm=5176.7933691.1309819..25502a66amfMYU&commodityCode=ossbag&request=%7B%22region%22%3A%22china-common%22%7D#/buy
    
    • 1

    买完进入oss控制台创建bucket
    之后直接上传网站资源即可
    然后设置静态网站托管
    点击基础设置–静态页面,设置一下默认首页,之后设置一下网站的域名访问,前台是有一个已经备案的域名
    域名也可以配置https证书
    设置公共读写权限的话产生了流量是会产生额外的流量费用的,所以不用的时候需要及时关闭,配置化之后访问域名就可以看见网站了,完成后如果域名解析慢的话需要等待十几分钟就可以了
    部署方式省事并且不用重启服务,配置完直接上传文件即可
    流量的费用可以使包月的,但是比较费钱,很多配置都不能配置,比如单页面的history路由

    前端部署(对象存储)

    阿里云OOS,100g免费试用3个月,一个月11
    https://free.aliyun.com/product/storage/freetrial?utm_content=se_1010174809

    https://common-buy.aliyun.com/?spm=5176.7933691.1309819..25502a66amfMYU&commodityCode=ossbag&request=%7B%22region%22%3A%22china-common%22%7D#/buy
    
    • 1

    阿里云免费icp备案服务码申请

    https://help.aliyun.com/document_detail/36938.html?spm=a2c6h.13066369.question.31.7af25b84KOAnv6
    
    • 1

    指定类型的阿里云服务器才可以提供icp备案服务码,用于icp的备案申请
    成功备案一个网站需要使用一个备案服务码,而且此服务码会变成已使用的状态,无法再用于其他网站进行icp备案,如果后续注销了网站或在阿里云取消接入,此icp的备案服务码还是处于已经使用的状态,无法再用于其他网站的icp备案
    免费的icp备案服务码用完可以用收费的,如果购买服务器的账号和申请icp的账号是同一个阿里云账号可以在icp备案过程里直接选择需要备案的服务器,不用手动申请备案服务码,直接选择云服务器或手动申请备案服务码进行icp备案即可,每台服务器可以备案的网站数量不变
    如果使用的不是一个阿里云账号,需要使用购买服务器的账号登录阿里云控制台之后申请

    腾讯云COS,70元一年,50g标准,第一年1元
    500g的500多,
    按量付费,存储容量付费是一个月1G0.15元,流量外网流量0.5元1G,cdn回源流量0.15一个g,标准读写一分钱一万次
    https://buy.cloud.tencent.com/price/cos
    资源包是用于抵扣存储容量流量等计量项的,资源包到期自动变成按量付费
    有大陆通用,海外通用
    表格里的费用项里是在流量
    目前优惠的都是存储包,可以去买流量包

    https://cloud.tencent.com/act/pro/cos?fromSource=gwzcw.3686537.3686537.3686537&utm_medium=cpc&utm_id=gwzcw.3686537.3686537.3686537&bd_vid=11051572348460929077
    
    • 1

    百度云BOS,64一年500g,外网下行流量100g,9元一个月
    存储费用0.12元1Gb每月,请求1分钱1万次,cdn回源0.14元一g,外网0.49一g
    https://cloud.baidu.com/calculator.html#/bos/price

    https://cloud.baidu.com/product/bos.html
    
    • 1

    域名绑定服务空间

    https://blog.csdn.net/qq_35971258/article/details/118604514
    先是在域名哪里生成一个指向服务空间的解析
    之后在服务空间上设置该域名有权限访问
    在DNS中,一个IP地址绑定一个URL。可以在IIS中使用相同端口,对不同域名进行相同ip地址的绑定
    https://baike.baidu.com/item/%E5%9F%9F%E5%90%8D%E7%BB%91%E5%AE%9A/10307388
    一般的空间服务商都会提供空间管理控制面板,控制面板会有一项功能,就是绑定域名
    如果是自己的服务器,就在IIS里面设置

    首先打开你的“Internet 信息服务(IIS)管理器” ,然后选择你要设置域名的网站,
    右键点击“默认网站”,选择属性
    在主目录栏目里选择你的网站虚拟目录为:web
    在网站栏目里选择你所需要绑定的IP地址:192.168.0.1 ,端口一般:80
    点击高级,出现域名绑定窗口,点击添加
    
    • 1
    • 2
    • 3
    • 4
    • 5

    域名解析

    域名不一定要备案,建站并且使用大陆服务器建站才需要备案
    备案之后才允许开放访问,备案后会发放备案号
    20个工作日内
    所以实际上是看服务器是不是需要备案过的域名,只要是国内的空间(服务器或对象存储资源都需要只能绑定备案过的域名),使用unicloud的云空间的话还是需要备案的,不然有访问限制,而且unicloud规定了是先使用已经备案了的域名的秘钥才可以生成cname进行域名解析,unicloud使用阿里云免费的就可以了,腾讯的空间5g9元每月,不如买它的cos资源,初始建站不用买资源包,按量计费即可,建议用docker容器镜像打包部署以后方便服务器迁移

    不过如果不需要开放访问,直接解析即可

    在域名购买平台解析,登录购买域名页面,找到域名管理,点击解析按钮之后填写ip就可以了,

    云解析现在已经升级成了DNSPod,数据互通,登录同步,dns与域名一站式管理
    https://jz.fkw.com/blog/12404
    主机记录是域名前缀
    a记录是地址记录,用于指定ipv4地址
    cname是把一个域名指向另一个域名
    如果需要设置邮箱就有添加mx记录

    域名多ip解析

    一般不使用这种方式,会用dns解析到一个负责负载均衡的内部服务器之后把请求发送到真实的服务器上之后完成请求

    中国53 确诊一个死亡
    美国83确诊一个死亡
    日本260确诊一个死亡
    韩国800确诊1个死亡

    域名绑定

    看了一下想在腾讯云服务器上绑定域名要么和传统主机一样,要么是使用它的网站搭建服务,搭建网站之后才能绑定域名
    https://product.pconline.com.cn/itbk/wlbg/network/1710/10104152.html

    或者自己搭建网站,就要先安装IIS
    使用IIS(internet信息服务管理器)
    打开服务器
    控制面板–程序与功能–打开或关闭Windows功能
    把Internet信息服务里面的IIS6管理兼容性及其子类和IIS管理服务以及IIS管理脚本和工具都打勾

    安装完成到控制面板–管理工具–之后是点击iis信息服务管理器
    之后选默认网站,把asp里的启用父路径改为true
    之后配置站点–高级设置
    回到iis单击右侧绑定
    https://product.pconline.com.cn/itbk/software/wjgs/1412/5840096.html
    http://t.zoukankan.com/liuzhengliang-p-3744982.html

    看到IIS网站属性里没有asp属性,去天津删除程序里看看是否已经安装了net.framework 2.0,之后看看iis的web扩展服务里是否已经允许了asp.net1.1和asp.net2.0
    有可能是因为先安装了.net 之后再安装iis导致.net 的模块没有加载到iis里,需要重新注册一遍.net

    在服务器管理里找到主机,在管理–白名单里的网站域名栏目里添加要绑定的域名,可以选中为自动解析

    服务器绑定域名

    https://www.xinnet.com/knowledge/2142341171.html
    把网站放到服务器目录下
    在iis里添加网站,网站的屋里路径指向创建的网站
    在绑定选项里吧网站的域名指向域名,一个带www一个不带方便用户访问
    设置一下域名解析

    自己的电脑搭建服务器绑定域名

    在c盘找到hosts文件
    在下面加入127.0.0.1 域名的记录
    在cmd里输入inetmgr命令打开iis之后找到自己部署的网站,右击网站找到编辑绑定

    在这里插入图片描述

  • 相关阅读:
    【LaTex】LaTex的下载与安装(超详细、超简洁)
    前端vue项目部署到云服务器教程
    vue3ref和reactive
    VMware和CentOS镜像下载,Linux安装,重设密码
    java基础运算符 之 逻辑运算符
    懒加载指令实现
    2023年度中国开源研究报告
    SQL 行列转换
    MySQL之优化SELECT语句
    会stm32有机会进大公司吗?
  • 原文地址:https://blog.csdn.net/weixin_46045444/article/details/124608742