能拥有一个彻底由本身建立的网站是不少web工程师最初的梦想:本身作设计,本身切界面,本身写交互,本身搭后台,本身架构数据库,本身配服务器。好吧,实话实说,配服务器这一步曾经阻挡了我实现梦想的脚步,当年的我就是由于讨厌Linux服务器无休止的黑框框,而毅然决然地由后台转向了前端。我讨厌配置这些东西,由于它们对我而言既枯燥,又没有写出一点东西的那种成就感。我对服务器这种没有图形界面的东西感到恐惧。html
在云服务器上的配置和项目部署彻底没有想象中的困难,甚至能够说比较简单,不得不说,它为个人梦想提供了助力。我写这篇文章的目的,一是帮助你们学习如何一步步把本身的项目部署到服务器上,尤为是针对前端Nodejs的开发者。二是鼓励你们尝试新鲜事物,其实不少东西没有你想象的那么难!!前端
我想这里不用我特别强调什么,简单的按照流程走就能够了java
但注意你必须开通QQ钱包。node
腾讯云为学生提供“1元”云服务器和免费域名的扶持,点击【合做与生态】->【云+校园】,在这个页面进行抢劵。天天有200个名额,中午12点开抢,我12点整抢的,不费什么劲儿就抢到了mysql
说明一下,实际上你抢到的是一张价值64元的云服务器代金券和一张价值25元的域名代金券,当你买云服务器的时候,能够直接拿那种64元的代金券抵现金。云服务器有不少种配置,价格从65元到上千元不等,所谓的1元云服务器是指的你选择的是65元的那种低配入门版云服务器,减去64元,只用花1元。web
注意,云服务器优惠券是按月领取,而域名优惠券则是按年领取。得到优惠名额享受云+校园扶持的用户,连续3个月未主动领取服务器代金券,将被认为主动放弃优惠特权,再也不享受优惠。若须要享受优惠,须参与优惠资格的抢购。sql
点击【云产品】->【云服务器】,点击当即选购mongodb
若是你是一名刚刚接触云服务器的学生,仅仅打算入门学习,按照下面网址的教程就能选到入门级云服务器的配置,也就是说,你只须要支付1元。数据库
http://bbs.qcloud.com/thread-21113-1-1.htmlexpress
至于何种配置和何种镜像(下面要说到)能知足你的其余需求,不属于本篇博客的讨论范围,我强烈建议你本身百度。
选择地域时要考虑你客户群体的所在位置,尽可能选择离你客户群体近的位置。
若是业务对于磁盘IO没有十分苛刻的要求,建议仍是选购云盘;若是业务对于IO有特殊要求,那么仍是选购本地盘。
在选择了地域与机型以后,咱们须要选择镜像。腾讯云为咱们提供了公共镜像和服务市场两种。说得直白点,公共镜像就是一个光秃秃的操做系统,里面什么软件都没有,须要咱们本身下载安装。而服务市场则为咱们提供了多种不一样的镜像,里面根据咱们的不一样需求为咱们预先安置了不一样的软件。举个例子,若是咱们想要搭建一个java后台的服务器,那么咱们能够选择预先安装了Tomcat的镜像。选择何种镜像通常不会影响费用,选择镜像后咱们也能够手动安装其它软件。
在这里,咱们选择【服务市场】-> 【从服务市场选择】
里面提供了各类镜像供咱们选择,搜索Node,选择第二个叫作nodejs运行环境的镜像,里面为咱们预先安装了Node+Nginx+mongodb+mysql,方便咱们一下子的项目部署。
下面的连接会告诉你有关这个镜像的更多细节:
http://market.qcloud.com/products/334?productId=334
购买完毕后,进入控制台,几分钟后,就可以找到刚才购买的服务器,系统也会给你发邮件告知你该服务器的信息。若是你在购买时未从新设置密码,能够在邮箱里找到系统为你自动生成的密码。
在浏览器地址栏输入公网IP,做为Nodejs开发者的你会看到熟悉的场景,是否是有点激动的想哭
以后咱们须要下载两个工具软件
(1)putty
能够经过公网IP链接至远程服务器,而后相似于CMD命令行操做的方式,控制咱们的云服务器。登陆时用户名为root。
提示没有使用过Linux的同窗,在Linux系统中输入密码时是没有任何反应的,不会有“*”占位符,输入完毕后直接点击回车就能够了。
(2)WinSCP
能够经过公网IP链接至远程服务器,而后以图形界面的方式操做云服务器里的文件。咱们可使用它轻松的把文件上传到云服务器上(固然后面咱们会介绍一种更简单的利用IDE直接上传的方式),也能够经过它来操做云服务器的文件系统,设置开机服务器自启等操做。
这两个工具能够直接从百度上下载到。
固然,你能够直接修改你刚才看到的,在云服务器上的demo(位置在/data/home/www/ ),但我并不想这么作。接下来,我要教你们如何利用Webstorm集成开发环境把一个新的项目与服务器相关联,咱们能够利用它向服务器上上传本地文件,也能够把服务器上的文件下载到本地。
这一步并不是本文的主题,我想我只须要点到为止。
打开webstorm,经过下面的命令使用express生成网站的骨架:
express --hbs (这里我默认使用handlebar做为模板引擎) npm install
而后我将本身事先准备好的文件(index.html等)整合到项目中, 而后修改index.js路由文件:
router.get('/', function(req, res, next) { // res.render('index', { title: 'Express' }); res.sendfile('views/index.html'); });
修改www文件中的端口为3001(由于3000端口被那个云服务器上默认的demo程序占用了,咱们一下子会再改回来的)
点击【tools】->【deployment】->【configeration】进行设置
FTP host填上公网IP地址,再输入了用户名和密码以后,就能够点击【Test FTP connection】进行链接测试,若是测试失败,则须要点击Advanced Options按钮,勾选Passive mode选项。测试成功后,你能够在【…】处选择你的项目要上传到云服务器的哪一个位置。 而后在Mappings 选择映射目录分别为本地,发布或web路径。以后,你就能够右击项目文件夹进行upload、download和对比服务器上的文件与本地文件了。
若是你以为本文描述的不够详细,能够参考下面的资料:
https://my.oschina.net/u/141149/blog/678638
经过putty登陆进云服务器系统中,cd到你项目的位置,输入
node ./bin/www
而后,在浏览器输入
公网IP:3001
便可访问到本身刚刚上传的index.html。
上面的操做存在一个问题,首先,当我把putty关闭后,过一段时间后,服务器上的相关服务就会中止,你也就不能再访问公网IP:3001了,其次,node默认的端口3000被占用,使咱们每次输入网址时都要输入端口号,这也是不可接受的。
咱们能够经过修改云服务器上/data/home中的init.sh文件来解决这个问题。这个文件中,镜像为咱们事先配置了开机即启动demo的小程序,我使用的是最简单的办法,把demo程序的路径换为咱们新建的项目的路径就能够了(我把项目上传到了/data/home/www/helloCloud里)。固然这里咱们能够学到如何将某项服务设置为在服务器上一直进行。
在腾讯云的控制台从新启动服务器,以后,打开浏览器,输入公网IP(固然咱们要把项目中index.js里的端口号改回来),便可访问到项目的首页。只要咱们的云服务器处于运行状态,咱们就能够时刻访问咱们的网站。
在域名购买处购买域名,而后进行实名认证(须要上传身份证照片或扫描件),它说审核要1到3日,但我5分钟就审核经过了。以后,进行域名解析,将域名与你的项目相关联,而后,而后就能够了。
打开浏览器,输入你的域名,就能够访问到你设置的首页。
限于篇幅,我只给你们介绍了在腾讯云上搭建基于Node网站的最基本流程,至于如何链接数据库,网站备案等操做需等我静下心来,找个空闲的时间再慢慢和你们分享。