node项目部署常规流程记录

本文总结了实际项目部署前端服务时,需要的一些环境准备。主要分为两部分,第一部分介绍linux下如何安装nodejs,第二部分介绍nginx及配置。

一.nodejs环境准备

由于项目的实际需要,要求的nodejs版本最低8.x。这里总结下linux系统安装nodejs的步骤,所有步骤均在实际项目中验证通过:

1.1下载linux系统上需要的安装包:

登录nodejs官网(https://nodejs.org/en/download/),下载nodejs安装包:

注意:安装分两种情况,可以用Source Code源码,也可以用编译后的文件,分别对应两种安装方式。本文介绍的是如果安装linux版本的安装包,即编译后的文件。如果下的是源码,请采用源码的安装方式。

1.2 安装步骤

(1)将安装包上传到指定位置(比如,放到:/usr/local/application/目录),并解压,执行:

#  tar -xvf node-v8.12.0-linux-x64.tar.xz

(2)重命名文件夹,执行:

#  mv node-v8.12.0-linux-x64 nodejs

(3)通过建立软链接变为全局,执行:

#  ln -s /usr/local/application/nodejs/bin/npm /usr/bin/
#  ln -s /usr/local/application/nodejs/bin/node /usr/bin/

说明:ln -s a b,这里a是node解压的路径

(4)检查是否安装成功,执行:

#  node -v

二.安装配置Nginx

2.1 安装nginx

#  yum install nginx

安装完成后nginx就已经启动了,可以查看进程:

# ps -auxf | grep nginx 

2.2 配置nginx

这里用Nginx主要是为了做域名转发,编辑配置文件:

# vim /etc/nginx/nginx.config

配置文件:

 #nginx.conf
    server {
        #监听端口
        listen       80;
 
        #指定要跳转的域名
        server_name  $http_host;

        #浏览器中输入$http_host的时候,访问http://hostname
        location / {
            proxy_pass     http://hostname;
            proxy_set_header Host $http_host;
 
        }
 
        #错误页面
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        }
        error_page 404 /404.html;
        location = /40x.html{
        }
    }

说明:所有通过$http_host访问本机的请求,都会被nginx转发到http://hostname上

修改配置后,重启nginx服务:

# nginx -s reload

说明:遇到过服务重启后,master进程没起来的情况。解决方法是这样启动nginx:

 nginx安装目录地址 -c nginx配置文件地址

例如:

# /usr/sbin/nginx -c /etc/nginx/nginx.conf

三.小结

本文主要介绍了部署前端服务时,如何安装依赖的node环境,和用nginx做域名转发。这些都是部署时的基本操作。尤其是安装nodejs时需要注意,下载的安装包是源码还是编译后的版本。如有问题,欢迎指正。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

每日一学之socket编程(一)

图片来自...

1909
来自专栏运维小白

2.18 特殊权限set_uid

set_uid 例子 -rwsr-xr-x.中的s的权限 [root@hf-01 ~]# which passwd /usr/bin/passwd [root@...

2445
来自专栏运维小白

10.21 firewalld关于zone的操作

Linux防火墙-firewalld firewall-cmd --set-default-zone=work //设定默认zone firewall-cmd ...

21710
来自专栏惨绿少年

练习题二上

第1章 linux启动过程 1、开机自检bios 2、mbr引导 3、GRUB 菜单:选择不同的内核 4、加载内核 5、运行init进程 6、读取/etc/in...

2520
来自专栏Script Boy (CN-SIMO)

PowerShell:因为在此系统上禁止运行脚本

在安装chocolatey(官网)的时候,不能运行chocolateyInstall.pal脚本文件。 ? 查阅资料后,得出如下解决办法: 首次在计算机上启动 ...

3020
来自专栏.NET开发那点事

关于WCF服务在高并发情况下报目标积极拒绝的异常处理

最近弄了个wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误。一开始以为服务停止了,上服务器检查目标服务好好的活着。于是开始查原因。 一般来说目标积...

2286
来自专栏实战docker

Docker下,极速体验编译pinpoint1.6.x分支

pinpoint是一款优秀的APM监控工具(Application Performance Management),用java编写的,用于分布式系统的监控和调用...

35010
来自专栏哎_小羊

windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置

Nginx,不用多说啦,大家都熟悉的不能再熟悉了,它是一款轻量级的高性能Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,最近在本地研究...

4409
来自专栏C/C++基础

Linux系统相关配置

为了使程序在崩溃时产生core文件,我们经常在终端使用命令ulimit -c unlimited 来设置。但是当前设置只能在当前会话有效,当关闭当前会话,打开新...

932
来自专栏软件测试经验与教训

session与cookie的区别详解

由于HTTP协议是无状态的,在WEB系统中,怎么识别请求来自于哪里呢?是哪一个用户发起的请求呢?

1161

扫码关注云+社区

领取腾讯云代金券