优点就是由于多实例机制,可以保证服务器的容错性,就算出现异常也不会使多个服务器实例同时崩溃。
今年7月阴错阳差的给自己买了一台阿里云服务器,当时是想着自己折腾折腾后台,看能否打通前端和后端之间的任督二脉。直到我发现我原来放在GitPage上的博客访问速度慢的实在不能忍,痛下决心之后,就把原来Jekyll搭建的博客站点一口气都迁移到了现在自己阿里云的主机上了。原来的Jekyll博客还在,还在GitPage上。换到了国内自己的阿里云主机上,我就用了优雅的Ghost搭建我的新家了。
作者 | Miloslav Voloskov 译者 | 平川 策划 | 万佳 本文为实现可扩展架构提出了几个原则:使用合适的工具。不要把写入优先和读取优先数据库弄混了。什么东西都配置多份。要实现多份配置,就必须让它们保持无状态。不要让后端完成数据库的工作,那样总是更慢。 可扩展性被认为是一个很难解决的问题。人们总是把它看成是一种神奇的东西,是用神秘而特殊的工具完成的,只有身价百万的大块头才能使用。这当然不是真的。其实,那并没有什么神奇之处——那也不过是用普通编程语言编写的普通代码。 首先,要针对工作选择合适
可扩展性被认为是一个很难解决的问题。人们总是把它看成是一种神奇的东西,是用神秘而特殊的工具完成的,只有身价百万的大块头才能使用。这当然不是真的。其实,那并没有什么神奇之处——那也不过是用普通编程语言编写的普通代码。
前三篇文章其实已经将博客部分的功能基本上走了一遍流程,博客部分还剩下的只有首页右侧导航栏动态渲染以及文章详情界面带评论功能尚待开发。本篇文章准备讲讲博客的部署,本篇涉及的知识点前端vue打包部署到nginx,后端Node部署并使用PM2进行进程管理。并且对vue首屏加载过慢做了适当的优化,提高首屏加载速度。
为什么不用CentOS而用Ubuntu作为生产环境的运行平台?这个我也比较好奇,公司订的只能沿用传统,从使用成本的角度来说,此举也是值得肯定的。 测试环境 腾讯云 Ubuntu 16.04 阿里云 Ubuntu 16.04 开启Root账号ssh登录 1.修改配置文件 使用命令:sudo vi /etc/ssh/sshd_config打开文件,找到配置: LoginGraceTime 120 PermitRootLogin prohibit-password 修改成: LoginGraceTi
安装完以后, 通过 pm2 list 可以查看到 pm2-logrotate 的进程。
首先,自行安装FileZilla,傻瓜式安装即可。打开FileZilla
前面两篇文章,讲到了云服务的选购,以及域名的注册备案,那么我们项目上线的准备工作其实已经完成一半了。下一步其实就是在服务器上搭建我们的运行环境了。每个人的项目可能运行在不一样的环境,所以在这里我不准备一一介绍,我在这里以我的环境作为示例,我的个人博客后端服务器采用Node.js + MongoDB,所以环境搭建:Node.js + pm2 + MongoDB,前端我采用了Angular框架,因为前后端端口不一致,发起请求会跨域,所以我安装了nginx服务器,将前端项目打包后放在nginx的80端口,每次前端发起请求请求MongoDB数据库的数据, 就通过nginx反向代理,代理到4001端口,去取到服务端的数据,然后返还给前端进行页面的渲染。
pm2部署 pm2是一个node进程守护 、监控、自动重启以及生成日志的软件,它可以帮你很好的管理node项目。 安装node、pm2等必要依赖 node安装,请参阅Node.js 安装配置 pm2安装,淘宝cnpm,可以加快镜像安装速度 # 淘宝npm npm install -g cnpm --registry=https://registry.npm.taobao.org # pm2 安装 npm install pm2 -g # 软连接(注意软连接路径必须是绝对路径) ln -s /u
code-server 是 vscode 的服务端程序,通过部署 code-server 在服务器,可以实现 web 端访问 vscode。进而可以达到以下能力:
以腾讯云为例,如果是 25 岁以下,可以免学生认证,使用校园优惠套餐。购买地址:云 + 校园[1]
开源也两年了,没想到自己在宣传.NetCore全栈的时候,也慢慢的做出了几个产品,毕竟也是一行一行的敲出来的,也是一天一夜的改出来的,希望每个人都能在自己学习中培养自己的踏实,稳健,成熟的品性。
项目使用angular universal实现服务端渲染,为了减轻服务器的压力,需要将用户频繁访问的页面进行缓存,这样就不必每次都去渲染相同的页面(例如首页),angular universal在features中有提到考虑加入缓存,但就目前来说,varnish是个不错的选择,但是varnish不支持https,所以还需要用nginx进行端口的转发
Node.js是一个开源JavaScript运行环境,用于构建服务器端和网络应用程序。该平台可在Linux,macOS,FreeBSD和Windows上运行。虽然您可以在命令行运行Node.js应用程序,但本教程将重点介绍如何将它们应用于服务器中运行。这意味着它们将在重启故障时再次重新启动,并且可以安全地用于生产环境中。
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
简介 PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 下面就对PM2进行入门性的介绍,基本涵盖了PM2的常用的功能和
Node.js是一个开源JavaScript运行时环境,用于构建服务器端和网络应用程序。该平台可在Linux,macOS,FreeBSD和Windows上运行。虽然您可以在命令行运行Node.js应用程序,但本教程将重点介绍如何将它们作为服务运行。这意味着应用程序将在重新启动或失败时重新启动,并且可以安全地在生产环境中使用。
Node.js是一个开源JavaScript运行时环境,用于轻松构建服务器端和网络应用程序。该平台可在Linux,OS X,FreeBSD和Windows上运行。Node.js应用程序可以在命令行运行,但我们将专注于将它们作为服务运行,以便它们在重新启动或失败时自动重启,并且可以安全地在生产环境中使用。
Node.js是一个开源JavaScript运行环境,用于轻松构建服务器端和网络应用程序。该应用程序可在Linux,OS X,FreeBSD和Windows上运行。Node.js应用程序可以在命令行运行,但我们将专注于将它们作为服务运行,以便它们在重新启动或失败时自动重启,并且可以安全地在生产环境中使用。
博客项目前端工程,所用技术栈为Next.js + React Hooks + Antd + Axios。
TiddlyWiki 是一个「非线性个人 Web 笔记本」,由「 javascript + CSS 样式 + HTML 语法 」组成 html 文档,你用户可以在浏览器中使用 wiki 语法直接编辑页面内容。非常适合用作个人记录想法、日记、备忘录、知识管理,还可以创建任务清单、策划安排项目等。
sinopia 之前好像很火,但是作者弃坑了,从项目里的一个issue(见文末)发现,有人fork了一个项目,就是本文要使用的 verdaccio,目前该项目在积极维护中 cnpm 看起来虽然最近有commit,但是已经一年没有 release了,而且安装比较复杂
Node.js是一个开源的Javascript运行时环境,用于轻松构建服务器端和网络应用程序。该平台在Linux,OS X,FreeBSD和Windows上运行,其应用程序是用JavaScript编写的。Node.js应用程序可以在命令行运行,但我们会教你如何将它们作为服务运行,因此它们会在重启或失败时自动重启,因此您可以在生产环境中使用它们。
进程与 线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。本篇文章除了介绍概念,通过Node.js 的角度讲解 进程与 线程,并且讲解一些在项目中的实战的应用,让你不仅能迎战面试官还可以在实战中完美应用。
注册域名后,将自己的域名解析服务的地址,配置到自己的服务器的对外的Ip地址上;
这时候报错了,一直说3000端口被占用,哪怕是手动停止了3000端口的占用也不行,发现是启动了多个线程,这就关系到pm2的启动方式有两种
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
本文案例取自在笔者腾讯云服务器上的实践。上线部署在大公司里其实是专人操作的,一个产品从构思到发布,许许多多的坑要踩。
UMAMI使用nodejs编写,是一个用于替代Google Analytics等第三方统计平台,更专注于用户隐私保护的自建统计项目。
Node.js是一个流行的开源JavaScript运行时环境,它基于Chrome的V8 Javascript引擎构建。Node.js用于构建服务器端和网络应用程序。TCP(传输控制协议)是一种网络协议,可在应用程序之间提供可靠,有序和错误检查的数据流传输。TCP服务器可以接受TCP连接请求,一旦建立连接,双方都可以交换数据流。
推荐使用npm安装pm2(安装nodejs之后, npm就自动安装好了) nodejs安装包下载地址
一个域名、一个SSL证书、一个程序账号、一台CentOS服务器。 然后主要的步骤就是: 1、解析域名; 2、部署服务器; 3、上传SSL证书; 4、填写小程序后台配置。 顺序没有绝对要求。 解析域名
这篇文章 写的不错,通过这篇文章你可以了解node集群的原理及如果使用pm2快速方便的开启集群模式。
很早就买了一个云服务器,在腾讯云上面买的,当时买了好几年,用了几百块吧。具体的配置如下
nrm 更多用于如果公司内网部署了私有仓库,也就是方便用nrm作来源切换,也有益于依赖的版本管理,如果你想搭建自己的私有仓库,可以使用verdaccio,可以看这个具体的教程 点我
下的“离线部署”,包括mongo、mysql、postgresql、nodejs、nginx等软件的离线部署。平常在服务器上借助apt-get就能轻松搞定的事情,在离线环境下就变得异常艰难。上一篇文章讲了使用snap离线安装软件的方式,但对于npm包怎么离线部署,snap是无能为力的。本篇文章就来讲一讲离线安装npm包的几种方法。
昨天尝试部署一个 Vue+Koa2 的前后端分离项目,没想到因为前端项目部署的问题,卡了一整天,今天才终于找到了问题所在,成功解决。这篇文章主要谈谈:
对于后台进程的管理,常用的工具是crontab,可用于两种场景:定时任务和常驻脚本。关于常驻脚本,今天介绍一款更好用的工具:pm2,基于nodejs开发的进程管理器,适用于后台常驻脚本管理,同时对node网络应用有自建负载均衡功能。官方的说法,pm2 是一个带有负载均衡功能的Node应用的进程管理器,个人认为,并不准确,因为pm2支持多种语言,只是对于除node之外的其他进程无负载均衡的能力。
整个配置文件分两部分: apps(启动应用的相关信息,环境变量,进程执行模式等) , deploy(部署区域)
每个人评判的标准不一样,我们唯有拿出碾压这个层级的能力的时候,才能堵住质疑者的嘴。当然,我们不做技术杠精,技术本身没有好坏。不喜欢就不理会
苏宁的技术架构,由苏宁云、基础支撑、后台、中台和前台组成。苏宁云主要为业务开发提供云服务。基础支撑,包括数据连接协议、防火墙、日志、中间件、短信等。在苏宁云和基础支撑之上,业务开发分为前中后台。而 Web 前端,主要集中在前台上。包含 PC 端、移动 WAP 端等。
我们常常见到很多比较棒的开源项目,但在本地安装运行的话就会很复杂,要配置不同的环境,安装不同的依赖,好一点的会用docker直接拉取,或者打包好。
PC官网(Angular6)/管理后台(umi+react)/移动端分享(Nuxt)/APP内嵌页(Nuxt)
领取专属 10元无门槛券
手把手带您无忧上云