天天看点

腾讯云极速配置 NodeJS + LNMP 运行环境

需求: 之前使用 <code>PHP+Mysql</code> 做开发,近年来<code>NodeJS</code>有点火,且不需要<code>Apache</code>、<code>Nginx</code>、<code>Tomcat</code>做容器,想在不影响之前<code>PHP</code>开发环境下,也能体验<code>NodeJS+Mysql</code>玩法。国内搜索了很多也没有发现有关<code>LNMP+Nodejs</code>的具体部署教程,于是踩了很多坑,终于配出了 NodeJS + LNMP + PHPMyAdmin。

因为 NodeJS 异步、非阻塞的特性,所以多核 CPU 对 NodeJS 算比较浪费吧,所以主要提高内存的大小,所以选了腾讯云1核、2G 内存的服务器。

腾讯云极速配置 NodeJS + LNMP 运行环境

这个比较重要,镜像要是选得好,配置起来各种高效率。这里我推荐的系统是CentOS 7+ (主要是因为CentOS 6使用的是Python 2.6,yum各种坑,想升级成Python 2.7坑还多)。

镜像选择 PHP运行环境(CentOS7.1 64位 Nginx | PHP多版本),腾讯云里的服务提供商上海微柳这家提供的<code>oneinstack</code> 太强大了,工具和文档都很详细,并且和其它的镜像不一样的是,<code>ssh</code>连接时,会有暗红高亮,相当好用。然后直接买、买、买就行了(较其它主机提供商,腾讯云的学生机相当给力)。

腾讯云极速配置 NodeJS + LNMP 运行环境

然后就配好了,访问服务器80端口,下载镜像的文档(超级方便的各种脚本):

腾讯云极速配置 NodeJS + LNMP 运行环境

注意:有些服务器需要在腾讯云的控制台上设置安全组,不然22端口将无法开放,就会导致才买的服务器通过<code>ssh</code>连不上。

腾讯云极速配置 NodeJS + LNMP 运行环境

首先开启FTP,方便传文件:

<code>service pureftpd start</code>开启,这样就可以配置FTP了。 首先进入<code>oneinstack</code>目录 -&gt; 运行<code>./pureftpd_vhost.sh</code> -&gt; 添加一个FTP用户。

腾讯云极速配置 NodeJS + LNMP 运行环境

<code>oneinstack</code>目录下,运行 <code>./reset_db_root_password.sh</code>,输入数据库密码。

腾讯云极速配置 NodeJS + LNMP 运行环境

执行:<code>yum -y install zlib-devel curl-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib autoconf tk perl-ExtUtils-MakeMaker gcc make gcc-c++ openssl-devel wget</code> ,主要的目的是为了当npm安装比较"娇气"的模块时不报错。

腾讯云极速配置 NodeJS + LNMP 运行环境

这里采用<code>nvm</code>来安装<code>nodejs</code>,是因为<code>nvm</code>对<code>nodejs</code>进行版本管理,这就方便多了,比如我<code>Ghost</code>博客的<code>Node</code>版本只能是<code>0.10.x || 0.12.0</code>。而一般用的,是<code>4.x.x</code>了。所以非常有必要。

首先<code>git clone https://github.com/creationix/nvm.git ~/.nvm</code>;

<code>source ~/.nvm/nvm.sh</code>;

将2中的命令vim加到<code>~/.bashrc或 ~/.profile或 ~/.zshrc</code>中,这样的话,下次ssh上去时,才不会发现<code>nvm</code>未安装;

然后就是nvm的使用了,<code>nvm install node版本</code>,参考nvm的Usage。

腾讯云极速配置 NodeJS + LNMP 运行环境

安装完 node 后,最好更换一下npm 源,这样 npm 比较快些。

<code>npm install -g forever</code>

腾讯云极速配置 NodeJS + LNMP 运行环境

新建后,会在产生2个重要文件(以我的域名test.ycjcl.cc为例)。

腾讯云极速配置 NodeJS + LNMP 运行环境

这里我生成了一个<code>express</code>项目,端口为3000,但是并不能访问到3000端口。

腾讯云极速配置 NodeJS + LNMP 运行环境

需要防火墙忽略3000端口,所以执行以下命令:

就可以ip+端口访问了:

腾讯云极速配置 NodeJS + LNMP 运行环境

直接<code>vi /usr/local/nginx/conf/vhost/test.ycjcl.cc.conf</code>,修改配置:(中间的location都删了,直接加这个)。

然后重启nginx ,<code>service nginx restart</code>。

然后用域名访问成功!!!

腾讯云极速配置 NodeJS + LNMP 运行环境

需要 phpMyAdmin,直接用 <code>ip/phpMyAdmin</code>,可以进行mysql的管理。

如果是64位CentOS 7系统

腾讯云极速配置 NodeJS + LNMP 运行环境

如果是32位系统

2.先更新yum:<code>yum -y update</code>,然后安装mongodb:<code>yum -y install mongodb-org mongodb-org-server</code>

3.运行mongodb(默认27017端口)

<code>systemctl {start|status|stop} mongod</code>

腾讯云极速配置 NodeJS + LNMP 运行环境

注意:从MongoDB“赎金事件”中,建议一定要使用<code>db.addUser</code>和<code>db.changeUserPassword</code>更改用户名和密码。

如果重装系统,ssh上去时,出现以下错误,用<code>ssh-keygen -R IP地址</code> 来解决

腾讯云极速配置 NodeJS + LNMP 运行环境
有时候开启node服务时,提示某个端口被占用。此时要用命令查看端口<code>fuser -n tcp 端口号</code>,或查看服务<code>ps -ef | grep 服务名</code>,kill掉<code>kill -9 pID进程号</code>。如果大型访问量时,优雅软重启的使用<code>kill -HUP pID进程号</code>。
腾讯云极速配置 NodeJS + LNMP 运行环境

相关推荐

三种 PHP 运行环境的性能对比

腾讯云从零部署nodejs站点