购买阿里云服务器

阿里云服务器ECS

系统镜像使用Ubuntu 20.04 LTS

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

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

记得去阿里云的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 root@x.x.x:/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项目部署上线(无虚拟主机,待学习)的更多相关文章

  1. Spring整合Redis&JSON序列化&Spring/Web项目部署相关

    几种JSON框架用法和效率对比: https://blog.csdn.net/sisyphus_z/article/details/53333925 https://blog.csdn.net/wei ...

  2. Linux06 /Python web项目部署

    Linux06 /Python web项目部署 目录 Linux06 /Python web项目部署 1. 部署方式 2. 纯后端代码部署/CRM为例 1. 部署方式 2. crm项目详细部署步骤 3 ...

  3. 如何将Java Web项目部署到服务器上

    转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...

  4. 将Java Web项目部署到远程主机上

    这里讲的是Java Web项目 第一步:购买主机,如果是大学生可以购买学生机,一个月9.9元,阿里云ECS服务器,自己选择不同的操作系统和镜像 ,我的选择 得到用户名和密码,可以进行ssh远程登录,登 ...

  5. 怎样将本地web项目部署到腾讯云服务器上?

    怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...

  6. Maven Web项目部署到Tomcat下问题

    但是也遇到了很多问题,下面记录一下Web项目部署到Tomcat下的问题 1.普通的WEB项目,就是虽然是用maven搭建的,但是没有使用profiles.xml文件来配置参数.这样的项目可以通过以下的 ...

  7. web项目部署在不同环境中需要修改配置文件的解决方法

    web项目部署中存在的配置文件问题: web项目以war包的形式,部署在tomcat中,同时项目需要访问一些其他的东东,例如访问数据库,调用别的项目的API.在开发中,这些需要访问的外部地址通常以配置 ...

  8. Eclipse导入git上的maven web项目 部署 - lpshou

    http://www.tuicool.com/articles/fqm2Qf   推酷 文章 微博 主题 站点 活动 应用 周刊 登录   Eclipse导入git上的maven web项目 部署 - ...

  9. eclipse修改web项目部署路径 wtpwebapps webapps 的设置

    eclipse修改web项目部署路径 wtpwebapps   webapps  的设置,在添加完server------>tomcat后,到server控制台进行设置 eclipse默认的部署 ...

  10. eclipse中将web项目部署到tomcat

    eclipse中将web项目部署到tomcat. myeclipse部署WEB项目到tomcat比较方便,但eclipse貌似默认是不会替你将web自动部署到tomcat下的.你Run as该web项 ...

随机推荐

  1. Spring Boot 项目转容器化 K8S 部署实用经验分享

    转载自:https://cloud.tencent.com/developer/article/1477003 我们知道 Kubernetes 是 Google 开源的容器集群管理系统,它构建在目前流 ...

  2. PHP全栈开发(七):PHP与MySQL存储交互(2.插入、读取)

    <?php $servername = "localhost"; $username = "root"; $password = "beijin ...

  3. 代码随想录第八天 |344.反转字符串 、541. 反转字符串II、剑指Offer 05.替换空格 、151.翻转字符串里的单词 、剑指Offer58-II.左旋转字符串

    第一题344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这 ...

  4. OCI runtime exec failed: exec failed: unable to start container process: exec: "mongo": executable file not found in $PATH: unknown

    前言: 今天按照以往在Docker安装MongoDB的方式安装,但是到最后使用mongo命令执行mongodb命令的时候一直执行不成功,最后还是按照官网的Issues解决了. 创建并运行一个Mongo ...

  5. 2021年9月28日,老是遇到一些非常奇葩的问题。就离谱、好好的一个web项目就莫名奇妙坏了。

    起因是这样的:我前几天用idea2020编辑器,用ssm框架搭建了一个图书管理系统.只是将图书信息的增删改查实现,还有用户的注册和登录功能实现.本来想着今天将用户信息的删除和修改完善以下,本来是很简单 ...

  6. 关于针对XSS漏洞攻击防范的一些思考

    众所周知,XSS几乎在最常见.危害最大的WEB漏洞.针对这个危害,我们应该怎么防范呢. 下面简单说一下思路. 作者:轻轻的烟雾(z281099678) 一.XSS漏洞是什么 XSS漏洞网上的资料太多, ...

  7. Ignite实战

    1.概述 本篇博客将对Ignite的基础环境.集群快照.分布式计算.SQL查询与处理.机器学习等内容进行介绍. 2.内容 2.1 什么是Ignite? 在学习Ignite之前,我们先来了解一下什么是I ...

  8. vulnhub靶场之NOOB: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:NOOB: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/noob ...

  9. springboot项目整合-注册功能模块开发

    工程简介 准备工作:项目所用到的html界面以及sql文件链接如下:链接: https://pan.baidu.com/s/18loHJiKRC6FI6XkoANMSJg?pwd=nkz2 提取码: ...

  10. Python基础之函数:3、多层语法糖、装饰器和装饰器修复技术及递归函数

    目录 一.多层语法糖 1.什么是多层语法糖: 2.多层语法糖用法: 二.有参装饰器 1.什么是有参装饰器: 2.有参装饰器的作用: 三.装饰器修复技术 1.什么是装饰器修复技术: 四.递归函数 1.什 ...