• 阿里云centos配置nginx和nodejs


    今天新买了阿里云,想把网站跑起来,于是记录跑起来的过程

    1.购买域名
    2.购买解析
    3.购买ecs主机
    4.ssh登录主机
    5.安装vsftpd
    6.配置ftp用户、文件夹、权限
    7.安装nginx/nodejs
    8.安装7z
    9.上传源码
    10.起飞

    1.备案

    阿里云备案系统,备案多久,就送多久,一般是备案2周到3周,如何备案,首先先买了域名,之后买服务器,然后再在控制面板中进入域名备案中心,自己按照阿里云的提示一步一步的进行填写,填写的时候注意,需要打印一张审核单,这个审核单填完了(其实就是签字)然后,再上传回去,接着申请幕布,幕布邮寄到家估计是3天,然后就坐等备案中心审批,至此备案结束,备案结束之后,可以在阿里云进行域名解析,解析到你的服务器,如果你捉急用,可以利用ip地址来访问你的服务器,这就需要安装nginx来处理80端口了。
    
    

    2.安装nginx

    
    #1. 安装
    yum install nginx
    
    #2. 启动服务
    service nginx start
    
    

    3.安装7z(可以不安装)

    #安装7z是为了方便解压7z的压缩包,比如你用ftp上传了7z到你的服务器,只能使用7z去解压
    yum install p7zip
    
    7za x seal-script-darkness.7z
    

    4.centos安装nodejs

    #1.编译安装(不推荐)
    yum -y install gcc make gcc-c++ openssl-devel wget
    
    make && make install
    
    node -v
    
    #2.手动解压,增加软连接到path
    
    #创建文件夹
    mkdir /opt/soft/node
    cd /opt/soft/node
    
    #下载 连接可以从nodejs.org download页面右键复制到
    wget https://nodejs.org/dist/v6.7.0/node-v6.7.0-linux-x64.tar.xz
    
    #解压
    tar -xvf node-v6.7.0-linux-x64.tar.xz
    
    #进入解压后的文件夹
    cd /opt/soft/node/node-v6.7.0-linux-x64/bin/
    
    #检测版本
    ./node -v
    
    #增加软连接(环境变量) 不建议这样
    ln -s /opt/soft/node/node-v6.7.0-linux-x64/bin/node /usr/bin/node
    ln -s /opt/soft/node/node-v6.7.0-linux-x64/bin/npm /usr/bin/npm
    
    #增加node的PATH环境变量(建议使用)
    vi /etc/profile
    
    #添加如下两行,注意自己的node路径
    export NODE_PATH=/opt/soft/node/node-v6.7.0-linux-x64/bin
    export PATH=${PATH}:${NODE_PATH}
    
    #使机器生效
    . /etc/profile
    
    #我解释一下为何增加软连接不如增加环境变量,因为你的node需要全局安装一些生产环境必备的软件,比如express,或者forever,npm i -g express 之后,你再使用 express demo 等命令,它是找不到的,因为你的软连接只连接了node和npm,这就导致以后你每全局安装一个package,就需要ln -s 相关命令到/usr/bin/xxx 这很不爽,不如我们直接把path放到环境变量里面。就这么简单。
    
    #全局检测版本
    cd /
    node -v
    
    #加快npm的下载速度
    npm config set registry="http://registry.npmjs.org/" #官方的镜像,这行命令用来重置仓库,恢复到官方
    npm config set registry="https://registry.npm.taobao.org" #淘宝的镜像,推荐使用这个,不用安装cnpm也可以使用
    
    #安装生产环境工具,后台启动node,不至于关闭了ssh就关闭了node服务,推荐pm2和forever
    npm i -g forever
    #开启 node
    forever start app.js
    #关闭 node
    forever stop app.js
    #查看当前运行的node实例,进程信息
    forever list
    

    上传源码(从本地上传代码到阿里云服务器某目录)

     scp -r ../node-weixin root@ip:/opt/nodepro/
    
    

    5.配置nginx转发

    #1.查找nginx路径
    whereis nginx
    cd /etc/nginx/
    vi nginx.conf
    
    #在server上面的location里面我们来写一下转发规则,让所有的 js-dev.cn/weixin的请求都转发到node端口,其余的都走自己的80端口,这样我的网站既可以当网站,又可以提供微信公众号的功能。
    
    server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  _;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location ^~ /weixin { #这个意思就是拦截 js-dev.cn/weixin的请求,注意后面没有反斜线,这样会转发到 js-dev.cn:3000/的根路径,如果你在 ^~ /weixin/ 这样会转发到 js-dev.cn:3000/weixin/ 这就不行了,微信公众号要求是必须根路径,而且80端口
                proxy_pass http://127.0.0.1:3000;
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
    然后执行
    nginx -t //检查是否有语法错误
    nginx -s reload //重启
    
    
    nginx -s stop //关闭
    ps -ef | grep nginx 
    kill -9 进程id
    

    nginx转发规则参考:
    http://www.cnblogs.com/AloneSword/p/3673829.html
    http://blog.csdn.net/tobacco5648/article/details/51099426

    npm软连接参考:
    http://www.16boke.com/article/detail/28
    https://segmentfault.com/q/1010000004445655
    https://cnodejs.org/topic/56fdeeaec5f5b4a959e91765
    https://segmentfault.com/q/1010000000396247
    http://www.w3cfuns.com/notes/17389/32f6b05cca6502e0ca3219bf7ec8820e.html
    https://segmentfault.com/q/1010000006920652

  • 相关阅读:
    2018第0次作业
    第八次作业
    第七次作业
    第六次作业
    第四次作业
    第三次作业
    第二次作业
    第3次作业
    第2次作业
    第1次作业
  • 原文地址:https://www.cnblogs.com/ae6623/p/5912462.html
Copyright © 2020-2023  润新知