入手阿里雲新服務器的部署NODE

入手後先用 'yum -y update' 來升級一下javascript

1 設置非root用戶

1.1 新增用戶

爲你的服務器新增一個用戶java

useradd 用戶名
passwd 密碼

1.2 設置ssh

新增用戶以後就設置root爲非ssh登陸的,新用戶能夠ssh登陸:修改/etc/ssh/sshd_confignode

PermitRootLogin:yes --> PermitRootLogin:no

這樣就能夠禁止root用戶登陸了。mysql

1.3 附上一些命令

useradd         //添加用戶
    passwd          //爲用戶設置密碼   
    userdel         //刪除用戶
    usermod         //修改用戶信息
    groupadd       //添加用戶組
    groupdel        //刪除用戶組
    groupmod        //修改用戶組信息
    groups          //顯示當前進程用戶所屬的用戶組

2 配置git

2.1 思路

咱們假設你在服務器上設置了一個叫作a的用戶,那麼咱們上線的代碼如今本身電腦上寫好,push到git服務器上,再在由a用戶pull下來上線。那麼咱們在root上面建立一個共享的倉庫,這樣本身的電腦和用戶a均可以向這個倉庫拉取和提交代碼。那麼這個git服務器服務器應該如何搭建呢?其實就是新增一個git用戶nginx

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

2.2 搭建

配置c++

// 在/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命令還有用戶名三個東西就行了*/

安全:處於安全考慮,咱們應該禁用git用戶的shell登錄。git

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每次一登陸就自動退出。github

3 安裝node

3.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

3.2 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

4.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是你的域名名字

4.2 配置文件

//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;
}

4.3 nginx的一些命令

//測試配置文件是否出錯
nginx -t -c /etc/nginx/nginx.conf
//啓動
service nginx start
//重啓
service nginx restart

4.4 新增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

5.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

5.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 ca
    dir /var/redis/6379
    //最後運行redis:
    redis-server /etc/redis/6379.conf
    //測試連接
    redis-cli -h 127.0.0.1 -p 6379 -a 'songhang'
    //開關
    service redis_6379 stop
    service redis_6379 start

5.3 開機啓動

肯定已經執行了第二步的配置,保證daemonize yesweb

echo "/usr/local/redis/src/redis-server /etc/redis/6379.conf &" >> /etc/rc.local

6 安裝配置數據庫MySQL

6.1 簡單的安裝

服務器端
阿里雲上的centos7.0系統。由於在centos直接搜索mysql是木有這個軟件的(緣由本身百度),只有mariadb,你能夠把它當成名字不用而已就行了。
安裝很簡單:redis

//安裝
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'

開發機器上
手上的是MacBook,簡單的去官網下載Mysql來點開安裝就能夠了。接下來推薦一個圖形界面的工具:mysqlWorkBench。也是直接下載後點開安裝。
注意:新版的Mysql安裝後以後彈窗給你一個初始化密碼的

6.2 遠程登錄

因爲咱們剛纔新建的用戶的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;

6.3 分配權限

這時候咱們能在開發機器上登錄新建的用戶了,當時確發現沒啥權限,作啥都作不了,因此應該分配一些權限給他。

//用root登錄
mysql -u root -p
//建立一個數據庫(create database sanyuelanv)
create database databaseName
//授予用戶操做這個數據庫的全部權限
grant all on databaseName.* to username@'%';
flush privileges;

後記: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
相關文章
相關標籤/搜索