阿里云lNMN(linux + nginx + mysql + node.js)环境搭建

购买服务器登录服务器

登录服务器后安装开发包和库文件

  1. 输入命令cat /etc/redhat-release,可查看Linux系统版本

  2. 执行命令:chkconfig iptables off,关掉防火墙,避免实验中出现服务器无法访问的情况。在真实的生产环境中,请根据实际需求,配置相应的防火墙规则。

  3. 执行如下命令,安装LNMN环境所需的开发包和库文件,例如:openssl等。

    1
    yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng 	libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd 	gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses 		ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake 	autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel

安装过程需要等待1分钟左右。安装完成后,页面显示“Complete!”。

安装nginx

  1. 输入命令yum -y install nginx,通过yum的方式安装nginx。
  2. 看到Complete!字样表示安装完成。
  3. 使用命令 vi /etc/nginx/conf.d/default.conf,进入nginx配置文件“default.conf”的编辑页面。
    • 在Nginx配置文件的编辑页面中,默认监听使用ipv4和ipv6。
    • 使用键盘方向键将光标移动到“listen [::]:80 default_server;”位置,并输入dd命令,删除此行,也就是删除其中监听为ipv6的配置listen [::]80 default_server。因为,目前阿里云使用的是ipv4,若使用ipv6,运行时会报错。完成后,输入“:wq”,保存退出编辑页面。
  4. 输入nginx -t命令检查配置是否正确,出现OK字样配置正确,输入命令service nginx start,启动nginx服务器。若页面显示“Starting nignx [OK]”,证明Nginx服务器已启动。若报错,请检查如上Nginx配置是否正确。
  5. 打开浏览器,并在地址栏中,输入云中沙箱提供的ECS实例“公网地址”。若页面显示“Welcome to Nginx on EPEL!”,则证明Nginx服务器已部署且启动成功。
  6. 执行命令chkconfig –levels 235 nginx on,设置2、3、5级别开机启动nginx。通过设置如上开机启动级别,在下次启动或者运行ECS服务器的时候,就可以自动运行Nignx服务器。

安装Mysql

  1. 首先,在安装MySQL之前,执行命令yum -y install mysql mysql-server mysql-devel ,安装mysql及其组件mysql-server,mysql-devel。 等待几秒钟,页面显示“Complete!”,证明已完成MySQL的安装。
  2. 输入命令service mysqld start,启动mysql数据库。等待几秒钟,页面显示“Starting mysqld [ok]”。证明mysql启动成功。
  3. 输入命令mysql,进入MySQL数据库的命令页面,证明已经成功安装并运行MySQL数据库。

    ps: 此时mysql是无密码状态,注意设置密码。

  4. 在mysql的命令行中,输入exit,页面提示“bye”,退出mysql的命令页面。
  5. 最后,执行命令chkconfig --levels 235 mysqld on,设置2、3、5级别开机启动mysql。这样,用户在下次启动ECS服务器时,ECS实例会自动运行mysql数据库,无需用户手动启动。

node.js安装

linux下nvm安装

  1. 执行如下命令安装:curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

    更多详情参考链接

  2. 通过nvm指令查看远端node.js版本(当然也可以官网查看),我们可以选近几个稳定的版本安装。nvm ls-remote。 如:

    1
    2
    3
    4
    5
    ......
    v8.9.0 (LTS: Carbon)
    v8.15.1 (Latest LTS: Carbon)
    v10.15.3 (Latest LTS: Dubnium)
    ......
  3. 其它nvm常用指令

    1
    2
    3
    nvm ls  //查看有那些node.js版本
    nvm use [node版本] //选择当前命令行使用的node.js版本
    nvm alias default [node版本] //设置命令行默认的node.js版本
  4. 可能会出现nvm not command, 解决方案详见链接

  5. 如上可能解决了,但是退出命令行再次进入再次出现出现command not found: Node Version Manager install - nvm, 可以通过如下方法解决:

Check your .bash_profile, .zshrc, or .profile file. You most likely had a problem during the installation.

You should have the following at the end of one of those files.

1
[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

The . $HOME/.nvm/nvm.sh is the same as source $HOME/.nvm/nvm.sh

如果还出现上述问题,那就要看看linux,到底先执行的那个类.profile的配置文件了. 比如安装了zsh。 默认只执行.zshrc文件。而[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh # This loads NVM又没加在.zshrc里.可以在.zshrc里加上执行其它配置文件的代码source ~/.bashrc.

安装node.js

  1. 通过nvm安装,如执行指令: nvm install v10.15.3, nvm install v8.15.1, nvm install v8.9.0;

  2. 执行nvm ls查看所有的node.js版本及默认的node.js版本。

  3. 执行命令node -v 查看node.js是否安装成功。如显示正常的版本这表示node.js安装成功。

验证环境

到此整个LNMN环境完全安装好了。

  1. 写如下一段服务代码

    1
    2
    3
    4
    5
    6
    7
    8
    // server.js
    var http = require('http');

    http.createServer(function(req, res) {
    console.log('server starts...'); // 加入此行
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello lnmn');
    }).listen(5000);
  2. 启动服务node server.js,打开浏览器输入http://[公网ip]:5000验证如看到返回“hello lnmn字样”,整个lnmn环境搭建成功。

  3. 此时可能还是不能访问,原因,我们需要去阿里云服务器管理后台去配置安全组规则,允许通过5000端口访问。 因为我们用的是5000端口,同理需要远程连接服务器数据库也需要允许访问如3306端口。