初级node+express建站
我的建站经历。
我建站的原因也很简单,就仅仅想有一个linux服务器玩一玩,但是还没有想到要怎么玩,就先搭建一个web服务吧。因为我工作的时候可能会用到。
我就从头开始讲起走。
先买了个云服务器,选择了debian,因为听说ubuntu都是基于debian,想想应该是很牛逼,所以就选择了它。
安装node
第一天拿到,就想先装个node。
这个装node,如果想要装了又好又快,就在看你能不能看破红尘了。
在网上查找各种资料,有两种办法:
一、通过debian的软件库安装,但是一上来完蛋了,根本不行,想想linux被称为个性化的强的系统,怎么可能这么方便。
二、自己去下node的源码进行解压安装,这一来感觉很有linux的风格,然而不尽其然,也还是不行,我在这个办法上面弄了整整一个下午。
当我在一次不经意间看到nvm的时候,我感觉看到菩萨,不懂nvm的童鞋可以自行检索nvm,马上就懂了。
web服务
先使用express开启web服务,只需要对静态文件做指引服务就可以。
主要是现在还没有想到,我要放什么内容。
然后再使用一个进程管理,查看这个服务的情况。这里我使用的是PM2,这是一个群友推荐的,现在感觉还不错。
最后为了查看日志,需要一个日志服务,一天的日志保存在一个文件中
为了开启gzip,后期还要配置nginx。
域名解析
域名我使用的是花生壳的二级域名。顶域名太麻烦了,听说还要邮寄备案什么的,就想算了,一个二级域名就够了。
这是花生壳linux的安装方法,很给力,一定要按照教程来,不要乱搞。我就是因为没有完全按照教程来,所以搞错了几次。
待续
安装数据库
为了能让我的服务不只是一个文件管理系统,今天为我的服务器安装了一个mysql数据库。
初级数据库肯定首先想到就是mysql了,而且经典,性能也还可以。
我们就来一步步安装我们的mysql服务吧。
我使用命令直接安装,命令如下:
apt-get install mysql-server mysql-client
反正密码什么的一定要记住,还是提醒一下大家。
node如何连接mysql
node连接mysql依赖于npm下的mysql模块,先上代码
var mysql = require('mysql')
conn = mysql.createConnection(config);
conn.connect();
conn.query(sql, function(err, rows, fields) {
if (err) throw err;
log('The result of sql is: ', rows);
});
conn.end();
这就是一此完整sql执行语句。
createConnection方法需要我们传递一些配置参数,如:
config = {
host: 'localhost',// 指向mysql所在的服务器ip
user: 'root',//默认,mysql的账号
password: '123456',//mysql的密码
database: 'nodejs',//需要操作的数据库
port: 3306//默认,mysql开放的端口
}
query这个方法,会执行我们传递给的sql语句。在回调函数中,可以获得查询到的结果。
剩下的就是考验你的sql能力了。
出一个题目:一条sql语句,初始化创建表,表存在的时候不创建(尽可能的简洁),想出来后可以在下方对答案
CREATE TABLE IF NOT EXISTS `user`(
`id` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
答案在上方。待续2016年3月3日23:59:20
初级node+express建站的更多相关文章
- 源码讲解 node+mongodb 建站攻略(一期)第二节
源码讲解 node+mongodb 建站攻略(一期)第二节 上一节,我们完成了模拟数据,这次我们来玩儿真正的数据库,mongodb. 代码http://www.imlwj.com/download/n ...
- [慕课笔记] node+mongodb建站攻略
如何利用node+mongodb来快速搭建一个电影网站? 一:后端部分 整个网站的后端是由node.js来驱动的,所以在后端需要安装node.js,以及在这个基础之上的框架express,它能够帮助我 ...
- Node.js建站笔记-使用react和react-router取代Backbone
斟酌之后,决定在<嗨猫>项目中引入react,整体项目偏重spa模式,舍弃部分server端的模板渲染,将一部分渲染工作交给前端react实现. react拥有丰富的组件,虽然不如Back ...
- Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么(转)
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么?修改 建站有很多技术,如 HTML.HTML5.X ...
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试 ...
- (转) Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么?
Web 建站技术中,HTML.HTML5.XHTML.CSS.SQL.JavaScript.PHP.ASP.NET.Web Services 是什么? 建站有很多技术,如 HTML.HTML5.XHT ...
- Node+Express+node-mysql 实战于演习 全套mysql(增删改查)
最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node 首先 本实例展示的是基于Node+Express+nod ...
- 使用gulp、yeoman、bower建站
前端建站工具 标签 : 工具 *** 脚手架:yeoman 用途 快速搭建新项目 为项目增加新部分 创建模块或者包 引导新服务 ... 开始 安装yo和generator npm i -g yo np ...
- Portal:十大免费建站程序推荐
TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...
随机推荐
- YUM Installation PostgreSQL
PostgreSQL can be installed using RPMs (binary) or SRPMs (source) managed by YUM. This is available ...
- 【转】【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏
转自:http://mrfufufu.github.io/android/2015/07/01/Codelab_Android_Design_Support_Library.html [翻]Andro ...
- webApi中参数传递
webApi中参数传递 一:无参数的get方法: 前端: function GetNoParam() { //为了统一:我们都采用$.ajax({}) 方法; $.ajax({ url: '/a ...
- php命名空间详解
index.php: <?php include 'demo.php'; use A\demo as test; use B\demo as test2; use C\demo; $obj = ...
- String的类型的数据
字符串类型的数据也是计算机基础. var box = "lc"; var box1 = 'lc1'; //不管是单引号还双引号,都必须成对出现 1.ECMAscript规定字符串是 ...
- [BS] 小知识点总结-05
[BS] 小知识点总结-05 1. 不论UIWindow的rootViewController是navC.tabBarC还是VC,也不管modalVC和rootVC中间隔着多少个VC,但是modal出 ...
- IPv4 地址分类
IP地址==网络地址 + 主机地址 IP地址是由4个字节组成,一个字节为8位,所以一共是32位,以点分十进制表示,例如192.168.1.1 IP地址分类:1.A类地址: IP地址==网络地址 1个字 ...
- category应用(计算nssting的数量)
// // main.m // 03-分类应用 // // Created by apple on 14-3-18. // Copyright (c) 2014年 apple. All rig ...
- 继承Prototype实现语句不能写在动态原型法中的理解
阅读javascript高级编程中, 对动态原型法中写Prototype继承父类对象的不可行的现象,不甚理解. 书上说是技术原因,如下有问题代码: 但是把protype语句移到构造函数后面,就OK,如 ...
- Hadoop学习(4)-- MapReduce
MapReduce是一种用于大规模数据集的并行计算编程模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题.其主要思想Map(映射)和Reduce(规约)都是从函数是编程语言中借鉴而来的 ...