web项目部署上线(无虚拟主机,待学习)
购买阿里云服务器
阿里云服务器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项目部署上线(无虚拟主机,待学习)的更多相关文章
- Spring整合Redis&JSON序列化&Spring/Web项目部署相关
几种JSON框架用法和效率对比: https://blog.csdn.net/sisyphus_z/article/details/53333925 https://blog.csdn.net/wei ...
- Linux06 /Python web项目部署
Linux06 /Python web项目部署 目录 Linux06 /Python web项目部署 1. 部署方式 2. 纯后端代码部署/CRM为例 1. 部署方式 2. crm项目详细部署步骤 3 ...
- 如何将Java Web项目部署到服务器上
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- 将Java Web项目部署到远程主机上
这里讲的是Java Web项目 第一步:购买主机,如果是大学生可以购买学生机,一个月9.9元,阿里云ECS服务器,自己选择不同的操作系统和镜像 ,我的选择 得到用户名和密码,可以进行ssh远程登录,登 ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- Maven Web项目部署到Tomcat下问题
但是也遇到了很多问题,下面记录一下Web项目部署到Tomcat下的问题 1.普通的WEB项目,就是虽然是用maven搭建的,但是没有使用profiles.xml文件来配置参数.这样的项目可以通过以下的 ...
- web项目部署在不同环境中需要修改配置文件的解决方法
web项目部署中存在的配置文件问题: web项目以war包的形式,部署在tomcat中,同时项目需要访问一些其他的东东,例如访问数据库,调用别的项目的API.在开发中,这些需要访问的外部地址通常以配置 ...
- Eclipse导入git上的maven web项目 部署 - lpshou
http://www.tuicool.com/articles/fqm2Qf 推酷 文章 微博 主题 站点 活动 应用 周刊 登录 Eclipse导入git上的maven web项目 部署 - ...
- eclipse修改web项目部署路径 wtpwebapps webapps 的设置
eclipse修改web项目部署路径 wtpwebapps webapps 的设置,在添加完server------>tomcat后,到server控制台进行设置 eclipse默认的部署 ...
- eclipse中将web项目部署到tomcat
eclipse中将web项目部署到tomcat. myeclipse部署WEB项目到tomcat比较方便,但eclipse貌似默认是不会替你将web自动部署到tomcat下的.你Run as该web项 ...
随机推荐
- js内置禁用按钮 disabled
按钮在监听到disabled后面的布尔值就可以实现是否禁用 一: <button :disabled="book.count <= 1" @click="de ...
- (四)JPA - JQPL 实现增删改查
(一)JPA的快速入门 建议在需要使用时,看看之前的文章,先把环境搭起来. 5.JPQL JPQL和SQL 1.JPQL和SQL很像,查询关键字都是一样的 2.唯一的区别是:JPQL是面向对象的 JP ...
- APICloud可视化编程(二)
上一期我们为大家讲解低代码在国内市场的当前现状以及APICloud可视化开发工具的组件类型和特点.相信大家对可视化编程有了一个整体的了解,那么今天带大家更进一步的使用组件. 下载开发工具 登录APIC ...
- 为什么 CRM 能帮助装备制造企业进行数字化转型?
CRM确实能帮助装备制造企业进行数字化转型,体现在销售管理端,能方便的服务于"客户需求"为主旨的数字化转型思想,用客户的需求来指导生产等.但这个说法有点片面,毕竟那只是客户管理部分 ...
- P3998 [SHOI2013]发微博 方法记录
原题链接 [SHOI2013]发微博 题目描述 刚开通的 SH 微博共有 \(n\) 个用户(\(1\sim n\) 标号),在这短短一个月的时间内,用户们活动频繁,共有 \(m\) 条按时间顺序的记 ...
- 洛谷P6060 [加油武汉]传染病研究
一道不错的数学题 Solution 看到约数个数就想到枚举约数,但对于每个询问都枚举显然不现实,但是我们可以将大致的方向锁定在这方面,是否可以预处理出一定的东西,然后低复杂度询问呢? 我们想到预处理出 ...
- uoj316【NOI2017】泳池
题目链接 \(S=k\)可以拆成\(S\le k\)减去\(S\le k-1\).用\((i,j)\)表示第i行第j列. 设\(g(i,j)\)表示前i行前j列都安全其他未知满足条件的概率,\(h(i ...
- python基础之数据类型总结
一.列表 1.作用:列表主要用于存储多个数据. 2.空列表表示:li=[]或者li=list() 3.列表的索引和切片:同字符串的索引和切片,索引超出范围报错,切片超出范围不报错. list3 = [ ...
- 硬核剖析ThreadLocal源码,面试官看了直呼内行
工作面试中经常遇到ThreadLocal,但是很多同学并不了解ThreadLocal实现原理,到底为什么会发生内存泄漏也是一知半解?今天一灯带你深入剖析ThreadLocal源码,总结ThreadLo ...
- 三十三、HPA实现自动扩缩容
通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment m ...