linux安装基于node、mysql的网站部署环境

一、安装mysql
1、安装rpm
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2、查看可用的mysql版本
yum repolist enabled | grep "mysql.-community"(执行此命令可能会没有任何输出,不用管,继续第3步)

3、安装mysql5.6版本
yum -y install mysql-community-server

4、将mysql服务添加到开机启动项
systemctl enable mysqld //添加到开机启动
systemctl start mysqld //启用进程

5、设置密码
mysql_secure_installation;

6、下图出现的问题,全部输入y;
linux安装基于node、mysql的网站部署环境
7、授权远程登录
GRANT ALL PRIVILEGES ON . TO ‘root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; //添加授权的用户

8、查看mysql 3306端口是否开启
netstat -tunlp

二、安装git
yum install git

三、安装node
1、更新yum到最新版本
yum -y update

2、安装node的版本控制器nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

3、source ~/.bashrc
立即使上面的修改生效

4、安装最新版稳定版node
nvm install stable

5、node --version 查看node版本

6、npm --version 查看npm版本


7、npm install pm2

pm2用于管理node服务的进程,不让进程因为程序的意外bug死掉;

四、安装nginx
1、添加Nginx仓库
yum install epel-release(在执行此命令前请确保更新了yum: yum -y update)

2、下载Nginx   
yum install nginx

3、启用nginx服务  
service nginx start

4、添加开机启动
systemctl enable nginx

5、修改Nginx配置文件
a、新建一个自定义的nginx配置,在服务器根目录执行:   
vim /etc/nginx/conf.d/nginx.conf, 内容可以参考我的配置:

    listen 443;    #监听端口
    server_name www.qdi5.com qdi5.com;    #监听地址
    keepalive_requests 120;    #单连接请求上限次数
    ssl on;   #配置https证书
    ssl_certificate   /usr/local/nodeblog/ssl.pem;
    ssl_certificate_key  /usr/local/nodeblog/ssl.key;
    ssl_session_timeout 5m;    #session超时时间
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass http://127.0.0.1:3000; #使用nginx代理node 3000端口的服务
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection '';
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        }
 }
server {
  listen 80;
  server_name www.qdi5.com qdi5.com;
  location / {
           return 301 https://$server_name$request_uri;
 }

}