标签归档:debian

Debian 8安装Node.js及Express Web框架

0x00 前言

最近突然想尝试下Node.js,于是今天上午的时候就在Windows下使用msi安装包尝了尝鲜。下午时尝试在VPS(debian系统)上进行配置,踩了一些小坑。

0x01 使用apt-get方式安装

按照以前的习惯(主要是懒),使用$ sudo apt-get install nodejs npm进行安装,一切顺利。安装结束后,nodejs -v命令显示版本号为0.10.*,想到早上在windows下安装的版本已7.1.0,瞬间懵逼。遂卸载 $ sudo apt-get remove nodejs npm.

0x02 中途放弃的源码安装

尝试从https://github.com/nodejs/node上clone时发现仓库远比我想象的要大,出于能简单绝不麻烦的考虑,放弃该方案。

0x03 使用二进制包

从官方https://nodejs.org/en/download/下载Linux下的二进制安装包。此处我下载的是Current版,版本号v7.1.0,下载并解压:

$ wget https://nodejs.org/dist/v7.1.0/node-v7.1.0-linux-x64.tar.xz
$ xz -d node-v7.1.0-linux-x64.tar.xz
$ tar xvf node-v7.1.0-linux-x64.tar

进入解压后的目录,查看结构:
node0
将对应目录拷贝至根目录下:
$ sudo cp -r ./bin/* /bin/
$ sudo cp -r ./include/* /include/
$ sudo cp -r ./lib/* /lib/
$ sudo mkdir /share
$ sudo cp -r ./share/* /share/

执行node -v,可以正常显示版本号,安装基本完成。

0x04 npm问题

若安装输入npm命令报错:
node3
可能是由于复制bin目录时未使用-r参数,导致npm的符号链接丢失:
node4
解决方案:使用cp -r命令重新复制或手动建立符号链接
$ sudo rm /bin/npm
$ sudo ln -s /lib/node_modules/npm/bin/npm-cli.js /bin/npm
node5

0x05 安装Express生成器并生成应用程序

$ sudo npm install express-generator -g
$ express myapp
$ cd myapp && npm install
$ DEBUG=myapp:* npm start

浏览器访问http://ip:3000,出现欢迎页面即安装成功;
若未出现请检查防火墙

0x06 持续运行

使用$ DEBUG=myapp:* npm start 命令是在终端中持续运行,若终端关闭则服务器同时也被关闭,有三种解决方案:

(1) nohup
$ nohup npm start > log.log &
优点:简单快捷
缺点:关闭时需要使用ps查看进程号后使用kill命令;崩溃后无法重启

(2) screen
在screen中执行$ DEBUG=myapp:* npm start
优点:可以ctrl -c终止,同时也可以关闭终端后持续运行,适用于开发阶段随时开启关闭服务器
缺点:崩溃后无法重启

(3)forever
安装$ sudo npm install forever -g
运行$ forever start app.js
关闭$ forever stop app.js

0x07 配置nginx反向代理

略~~

debian下开启.htaccess rewrite功能

1、启用rewrite模块

root身份执行:a2enmode rewrite

此时提示需要重启apache,先不管

2、修改根目录配置

方案一:vi /etc/apache2/apache2.conf
将对应目录或根目录下AllowOverride 属性修改为All
<Directory /home/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
方案二:若directory配置位于虚拟主机配置文件中,需要修改/etc/apache2/sites-enable/下对应配置文件。

3、重启服务器

root身份执行:/etc/init.d/apache2 restart 或 service apache2 restart

Debian 8 安装 zabbix 2.4.5

正常安装大家应该搜索不到这篇博客,所以我也懒得写完整的安装教程了,大家先安装网上的教程安装,出了问题的时候记得看看它。

1、安装mysql等组件(略,依赖安装可先使用apt-get install zabbix-server-mysql完成依赖库安装,如果不需要最新版本,则直接跳至第4步)
2、apt-get remove zabbix-server-mysql 卸载老版本
3、wget方式下载最新版本的zabbix-server-mysql,执行dpkg -i zabbix-server-mysql 版本号.deb完成安装。
4、尝试启动 /etc/init.d/zabbix-server start
查看状态 /etc/init.d/zabbix-server status
如果报libnetsnmp.so.15缺失,可先用find / -name “libsnmo.so*”查找新版本所在位置(当前为libnetsnmp.so.30),cd至相应路径,执行 cp libnetsnmp.so.30 libnetsnmp.so.15
5、再次尝试启动并查看状态。若无报错,执行netstat -an | grep 10051
10051 为zabbix-server默认端口。返回
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN
tcp6 0 0 :::10051 :::* LISTEN
表示启动成功,若无返回,查看log
6、cat /var/log/zabbix-server/zabbix_server.log
报错形如:[Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘zabbix’@’localhost’ (using password: NO)