入手阿里云新服务器的部署NODE

入手后先用 'yum -y update' 来升级一下

1. 设置非root用户

  1. 新增用户
useradd 用户名
passwd 密码
  1. 设置ssh
    新增用户之后就设置root为非ssh登录的,新用户可以ssh登录:修改/etc/ssh/sshd_config
    PermitRootLogin:yes --> PermitRootLogin:no

这样就可以禁止root用户登录了。

  1. 附上一些命令
    useradd         //添加用户
    passwd          //为用户设置密码   
    userdel         //删除用户
    usermod         //修改用户信息
    groupadd       //添加用户组
    groupdel        //删除用户组
    groupmod        //修改用户组信息
    groups          //显示当前进程用户所属的用户组

2. 配置git

  1. 思路
    我们假设你在服务器上设置了一个叫做a的用户,那么我们上线的代码现在自己电脑上写好,push到git服务器上,再在由a用户pull下来上线。那么我们在root上面创建一个共享的仓库,这样自己的电脑和用户a都可以向这个仓库拉取和提交代码。那么这个git服务器服务器应该如何搭建呢?其实就是新增一个git用户
useradd git
passwd 密码
//以下为升级git的,centos的yum能安装的git最多去到1.7
//因此需要安装2.X 的git的话,先卸载,再下载源码编译安装
yum remove git 
//在https://www.kernel.org/pub/software/scm/git上选择你要的版本
src wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
//安装必要工具包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
//解压
tar xzf git-2.10.0.tar.gz
cd git-2.10.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
  1. 搭建
    2.1. 配置
    // 在/srv下创建git文件夹,再在git里面创建空仓库
    cd /srv
    mkdir git
    cd git
    git init --bare project.git // project为项目名字,自定义的
    //成功就会显示:Initialized empty Git repository in /srv/git/project.git/
    // 把所有权给git 用户
    cd ../
    chown -R git:git git
    //在自己电脑上:
    git clone git@服务器IP:/srv/git/project.git      
    /*以上的文字很不幸的出现了很多git ,看清楚git其实分别对应了文件夹名字,git命令还有用户名三个东西就好了*/

2.2 安全
处于安全考虑,我们应该禁用git用户的shell登陆。

    vim /etc/passwd
    //找到这一行
    git:x:1001:1001:,,,:/home/git:/bin/bash  
    //改成
    git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell  

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

3. 安装node

  1. node安装
    //该方法是源码编译安装,比较慢
    //确保gcc安装
    yum -y install gcc
    //下载node 这里可以去官网看看你要的版本号
    wget https://nodejs.org/dist/v5.6.0/node-v5.6.0.tar.gz
    //解压
    tar -zvxf node-v5.6.0.tar.gz 
    // 开启配置,编译
    cd node-v5.6.0
    ./configure
    make && make install
    //要能业务化的话 pm2 && express 都不可少
    npm i -g n //升级node用的
    npm i -g express
    npm i -g pm2
  1. pm2的配置
    //pm2开机启动
    pm2 startup centos
    //创建一个processes.json文件
    {
        "apps": [
            {
                "name": "xxx",
                "script": "./bin/www",
                "log_date_format": "YYYY-MM-DD HH:mm Z",
                "log_file"   : "./logs/xxx.log",
                "error_file" : "./logs/xxx.log",
                "out_file"   : "./logs/xxx.log",
                "merge_logs": true,
            }
        ]
    }
    //保存退出后启动
    pm2 start processes.json

4. 安装配置nginx

  1. 安装
    yum install nginx
    cd /etc/nginx
    //这里开始修改配置
    vim nginx.conf 
    //-> 这里不细说明配置:只需要找到conf里面有没有这一段:include /etc/nginx/conf.d/*.conf;
    // 退出之后进入/etc/nginx/conf.d目录,新建一个配置文件
    vim xxx.com.conf  //xxx.com是你的域名名字
  1. 配置文件
//xxx.com.conf
upstream node {
    server 127.0.0.1:3000;
}
server {
    listen       80 default_server;
    server_name  xx.com www.xx.com;
    include /etc/nginx/default.d/*.conf;
    location / {
        proxy_pass http://node;
    }
    access_log xx/access.log main;
}
  1. nginx的一些命令
//测试配置文件是否出错
nginx -t -c /etc/nginx/nginx.conf
//启动
service nginx start
//重启
service nginx restart
  1. 新增SSL配置文件实例
upstream node {
  server 127.0.0.1:3000;
}
server {
  listen 443 ssl;
  server_name  ***; #你的域名

  ssl on;
  ssl_certificate   ***.pem; #pem文件路径
  ssl_certificate_key  ***.key; #key文件路径
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
  ssl_prefer_server_ciphers on;
  # 禁止爬虫!如果你要做SEO的话!这个最好就不要咯
  if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot"){return 403;}

  location / {
    deny 123.126.113.134;
    deny 111.251.93.84;
    proxy_pass http://node;
  }
  access_log  *.log main;
}

5. 安装配置redis

  1. 安装
    yum install gcc-c++
    yum install -y tcl
    yum install wget
    //在官网http://redis.io/拿到下载链接
    wget 链接
    //解压 进入目录 编译 安装
    tar -xzvf redis
    mv redis /usr/local/redis
    cd /usr/local/redis
    make 
    make install

2.配置

    mkdir /etc/redis
    mkdir /var/redis
    mkdir /var/redis/log
    mkdir /var/redis/run
    mkdir /var/redis/6379
    //在redis解压根目录中找到配置文件模板,复制到如下位置。
    cp /usr/local/redis/redis.conf /etc/redis/6379.conf
    //通过vim命令修改
    daemonize yes
    requirepass 密码
    pidfile /var/redis/run/redis_6379.pid
    logfile /var/redis/log/redis.log
    dir /var/redis/6379
    //最后运行redis:
    redis-server /etc/redis/6379.conf
    //测试链接
    redis-cli -h 127.0.0.1 -p 6379 -a ''
    //开关
    service redis_6379 stop
    service redis_6379 start
    
  1. 开机启动
    确定已经执行了第二步的配置,保证daemonize yes
    echo "/usr/local/redis/src/redis-server /etc/redis/6379.conf &" >> /etc/rc.local

6. 安装配置数据库MySQL

  1. 简单的安装
    1.1 服务器端
    阿里云上的centos7.0系统。因为在centos直接搜索mysql是木有这个软件的(原因自己百度),只有mariadb,你可以把它当成名字不用而已就好了。
    安装很简单:
//安装
yum install mariadb mariadb-server
//启动
systemctl start mariadb 
//开机启动
systemctl enable mariadb
//root密码等相关
mysql_secure_installation
//登录
mysql -u root -p
//创建新用户
create user 'username'@'localhost' identified by 'password'

1.2 开发机器上
手上的是MacBook,简单的去官网下载Mysql来点开安装就可以了。接下来推荐一个图形界面的工具:mysqlWorkBench。也是直接下载后点开安装。
注意:新版的Mysql安装后之后弹窗给你一个初始化密码的

  1. 远程登陆
    由于我们刚才新建的用户的host定义了localhost,所以在开发机器上是没办法登陆的。因此需要用调整一下
//用root登陆
mysql -u root -p
//进入mysql数据库
use mysql;
// 修改host为通配符%
update user set host='%' where user='username';
// 查看一下
select host, user from user;
flush privileges;
  1. 分配权限
    这时候我们能在开发机器上登陆新建的用户了,当时确发现没啥权限,做啥都做不了,所以应该分配一些权限给他。
//用root登陆
mysql -u root -p
//创建一个数据库(create database sanyuelanv)
create database databaseName
//授予用户操作这个数据库的所有权限
grant all on databaseName.* to username@'%';
flush privileges;

后记1:zsh

因为个人喜好用ZSH,所以把bash替换成zsh,再加上oh-my-zsh。这样才觉得舒服。

    echo $SHELL //查看当前的shell,一般的结果都是/bin/bash
    cat /ect/shells //查看bin下面是否有zsh
    yum install zsh //安装zsh
    cat /ect/shells //再次查看
    chsh -s /bin/zsh  //切换zsh
    reboot   //重启
    //重启完成之后
    yum install git  //安装git
    //安装oh-my-zsh,装好之后切换用户或者重启一下
    wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh  
    //如果出现:warning: cannot set LC_CTYPE locale的错误
    vim /etc/profile 
     //后面加上这两行
    export LC_ALL=en_US.UTF-8
    export LC_CTYPE=en_US.UTF-8
    //保存退出后生效
    source /etc/profile

后记2:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容