首页 > 其他分享 >web项目部署上线(无虚拟主机,待学习)

web项目部署上线(无虚拟主机,待学习)

时间:2022-12-18 12:55:05浏览次数:46  
标签:web 上线 虚拟主机 nginx index etc server ssl 服务器

购买阿里云服务器

阿里云服务器ECS

系统镜像使用Ubuntu 20.04 LTS

使用ssh连接服务器,终端或者CMD中执行:$ssh [email protected](阿里云服务器账号名@公网地址)

输入账号密码即可连接上服务器(如果配置公钥,就不用再输入密码了,更加安全)

记得去阿里云的ECS的控制台,看看安全组中,是否开放了必要的端口

安装必要的环境(进入服务器之后,安装必要的运行环境)

$apt update  // 更新软件源

$apt install git // 安装git,用于拉取代码,版本控制等

$curl -sL https:// deb.noadesource.com/setup_14.x | sudo -E bash // 添加hode 14的安装源

$apt install nodejs // 安装nodejs,基础运行环境

$apt install yarn // 安装yarn,用于管理npm依赖

$apt install nginx // 安装nginx,服务器,提供web服务

所有命令,都是在服务器的root用户下执行,所以不用加上sudo

上传代码到云服务器

如果想要把本地的代码上传到服务器上,可以使用的工具有很多,比如:ftp,sftp,scp,git等等

使用git:$git clone xxx(存储代码的远程地址)

打包生成静态文件

进入到项目目录,安装必要的依赖:$yarn

执行打包:$yarn buld

使用ngix解析项目

修改nginx配置,把打包好的静态资源,用nginx来提供web服务

(配置虚拟主机,可以部署多个项目)

$vim /etc/nginx/sites-available/default

按i键进入编辑模式,修改后的内容为:

server{

  liesten 80 default_server;

  listen [::]:80 default_server;

  root /var/www/shop;

  index index.html index.htm index.nginx-debian.html;

  server_name shop.liiann.com;

  location / {

    try_files $uri $uri/ =404;

  }

  location ^~/api/ {

    proxy_pass https://***.com // 后端接口地址

    add_header 'Access-Control-Allow-Origin' '*' // 解决跨域问题

    rewrite ^/api/(.*)$ /$l braek; // 删除配置前缀

  }

}

编辑之后按Esc键退出编辑模式,输入:wq保存退出

检查nginx配置,出现success就没问题

$nginx -t

平滑重启nginx:

$nginx -s reload

解析域名

去域名控制台,解析域名,这里解析的域名,要和nginx配置的server_name一致

配置HTTPS

证书申请

浏览器端生成

dns校验(再设置一个解析,验证域名合法性)

验证通过后得到证书,下载证书到本地,在上传到服务器,这里使用scp上传。先传到/tmp目录:

$scp file [email protected]:/tmp

去服务器,创建一个目录,用来存放ssl证书:

$cd /etc/nginx

$ mkdir ssl

移动证书到创建的目录:

$mv /tmp/file/etc/nginx/ssl

修改nginx配置

$vim /etc/nginx/sites-available/default

增加内容:

  liesten 443 ssl;

  ssl_certificate  /etc/nginx/ssl/full_chain.pem;

  ssl_certificate_key  /etc/nginx/ssl/private.key;

  ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MDS:!ADH:!RC4;

  ssl_protocols TLSv1 TLSv1.1 TLSv1 .2;

  ssl_prefer_server_ciphers on;

检查nginx配置,出现success就没问题:

$ nginx -t

平滑重启nginx

$nginx -s reload

nginx配置

server{

  listen 80 default_server;

  server_name shop.liiann.com;

  rewrite ^(.*)https://server_name$1 permanent;

}

server{

  liesten 443 ssl default_server;

  ssl_certificate  /etc/nginx/ssl/full_chain.pem;

  ssl_certificate_key  /etc/nginx/ssl/private.key;

  ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MDS:!ADH:!RC4;

  ssl_protocols TLSv1 TLSv1.1 TLSv1 .2;

  ssl_prefer_server_ciphers on;

  root /var/www/shop/dist;

  index index.html index.htm index.nginx-debian.html;

  server_name shop.liiann.com;

  location / {

    try_files $uri $uri/ =404;

  }

//配置api的代理

  location ^~/api/ {

    proxy_pass https://***.com // 后端接口地址

  }

}

 

标签:web,上线,虚拟主机,nginx,index,etc,server,ssl,服务器
From: https://www.cnblogs.com/liiann/p/16990205.html

相关文章

  • 《小白WEB安全入门》03. 漏洞篇
    目录SQL注入和简单绕过原理什么是SQL什么是SQL注入XSS漏洞原理什么是XSSXSS分类NOSQL注入什么是NOSQLCSRF原理什么是CSRF网络摄像头入侵原理什么是网络摄像头如何挖掘怎么......
  • .NET&Web前端-大三-员工疫情管理
    .NET&Web前端-大三-员工疫情管理目录​​.NET&Web前端-大三-员工疫情管理 ​​​​语言和环境​​​​素材​​​​实现功能​​​​数据库设计​​​​具体要求及推荐实现......
  • day7-2022.12.17-Webstorm基本设置
    一、快捷键设置1、点击左上角的File->settings,在输入框中查找Keymap,选择Eclipse,此处是改变快捷键的方式。Ctrl+F:本Vue文件内查找Ctrl+H:全文件查找  ......
  • Web-SQL注入
    #Sql注入产生的原因可控变量,代入数据库查询变量未过滤或过滤不严谨导致注入点判断1.老方法:注入点and1=1回显正常(页面未受影响),and1=2回显错误代表存在注入。htt......
  • Edge浏览器爱上WebVR
    微软此前表示,Edge浏览器将会取代InternetExplorer成为Windows10的默认网页浏览器。近日,微软宣布计划让Edge浏览器支持WebVR功能,允许用户直接在网页里观看VR内容。......
  • [攻防世界][Web]ics-06
    打开靶机对应的url,展开是一个网站的样子,其实啥也么有所有tab都点一遍,发现只有报表中心有内容,url为http://61.147.171.105:49797/index.php?id=1猜测这里是题眼,使用burp......
  • [攻防世界][Web]PHP2
    打开靶机对应的url就一行字Canyouanthenticatetothiswebsite?第一感觉就需要做目录文件扫描使用御剑和dirsearch进行扫描,发现一个文件index.phps知识点:phps......
  • spring webflux项目集成后台管理系统的用户登录,支持用户session
    配置pom.xml:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ......
  • spring webflux项目启动类
     importlombok.extern.slf4j.Slf4j;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;im......
  • 【SpringBoot】使用WebSocket做消息对话
    Http协议只能客户端发送---服务器回复,无法做到服务器主动向客户端发送消息,所以可以使用websocket来进行双向通道发消息 研究了一下抖音斗鱼的弹幕也是用的websocket,......