linux云服务器搭建 express后台 nginx转发

Posted oicb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux云服务器搭建 express后台 nginx转发相关的知识,希望对你有一定的参考价值。

购买云服务器 或者自己在本地搭建一个虚拟机 (我用的是腾讯云云服务器(CVM),或者可以购买阿里云 ecs服务器)

购买完成后  配置安全组 允许http  https  ftp  端口    
一般运营商会提供说明,这一步主要是供我们链接服务器和访问服务器所用

配置完安全组之后,浏览器打开公网ip(买了服务器之后就会分配给你)   

这时候会报错  应为服务器没有运行服务程序  所以找不到任何东西

这个时候打开我们的链接工具   putty   输入我们的链接信息  一般账号是root  密码自己重置

登录完成后,下一步 下载我们需要的包

下载各种包(一般使用的后台语言环境,运营商会提供对应的安装环境方法)

1. 安装node

    wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
    
    这里的node链接不是最新的,可以去官网换成最新的,一定要linux版本的
    或者直接现在本地机器下载完成后网服务器上丢,不一定非要在服务器来下载

2. 设置linux的软连接,类似于window的全局变量,可以在任何一个和文件使用node和npm

    ln -s /root/node-v10.16.3-linux-x64/bin/node /usr/local/bin/node

    ln -s /root/node-v10.16.3-linux-x64/bin/npm  /usr/local/bin/npm

    设置完成后,任意一个文件夹 
    node -v  npm -v
    查看 Node.js 及 npm 版本信息
    当然你还可以设置npm淘宝镜像
    也可以全局安装yarn,同样需要设置yarn的软连接

3. 下载nvm, 控制node版本

1).执行以下命令,安装 git。
    yum install -y git
2).执行以下命令,下载 NVM 源码并检查最新版本。
    git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
3).执行以下命令,配置 NVM 环境变量。
    echo ". ~/.nvm/nvm.sh" >> /etc/profile
4).执行以下命令,读取环境变量。
    source /etc/profile
5).执行以下命令,查看 Node.js 所有版本。
    nvm list-remote
    nvm install v**.**.**
    nvm use v**.**.**

### 4. 安装nginx
cat /etc/redhat-release

    所有用户 执行这句

    添加 yum 源
    Nginx 不在默认的 yum 源中,可以使用 epel 或者官网的 yum 源,这里使用官网的 yum 源。
    sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    安装完 yum 源之后,可以查看一下。
    sudo yum repolist
    nginx repo 已经安装了。


    yum 安装 Nginx,一条命令。
    sudo yum install nginx

    设置开机启动
    $ sudo systemctl enable nginx

    启动服务
    $ sudo systemctl start nginx

    停止服务
    $ sudo systemctl restart nginx

    重新加载,因为一般重新配置之后,不希望重启服务,这时可以使用重新加载。
    $ sudo systemctl reload nginx

另外如果想先下载在解压安装的话,则需要如下操作
安装所需环境
Nginx 是 C语言 开发,建议在 Linux 上运行

一. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++


二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel


三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel


四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

2.使用wget命令下载(推荐)。
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
make
make install

启动 重启 和上面一样

完成了上面的之后,在home文件夹新建我们的express项目 记住地址然后回到我们的nginx的配置中(选择优先级一般是default > conf)完成代理

express项目是需要启动的

npm i  
npm start  
并且localhost:3000
这里要注意! 服务器安全组需要开启3000端口  不然访问不到

当然可以使用pm2来管理项目 方法一样

server {
    listen       80; #代理80
    server_name  localhost; #可以换成域名

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    # 代理be  直接到我们的接口路劲
    location /be {
        proxy_pass http://localhost:3000/;

        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers Content-Type;
        add_header Access-Control-Allow-Methods POST;
        add_header Access-Control-Allow-Methods GET;
    }

    # 代理网页  直接到我们的home文件夹
    location / {
        root   /home/fe;
        index  index.html index.htm;
    }

以上是关于linux云服务器搭建 express后台 nginx转发的主要内容,如果未能解决你的问题,请参考以下文章

node.js后台快速搭建在阿里云(pm2和nginx篇)

NodeJs+Express+SqlServer简易后台API服务搭建

利用node.js写一个后台服务器---express框架的搭建及使用

阿里云轻量级服务器宝塔Linux可视化工具部署和项目上线及后台部署

13 ~ express ~ 后台页面的搭建

Node: 使用Express脚本库搭建本地的Web服务器