CentOS7.9配置Nginx反向代理+NodeJS部署上线

news2024/11/23 22:44:27

 Nginx配置

Nginx是一个高性能的HTTP和反向代理服务,许多的大型网站都会采用Nginx来进行HTTP服务器托管

安装编译环境gcc g++ 

进入到root目录:

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

安装PCRE

PCRE功能时让Nginx有rewrite功能,下载PCRE

wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

解压安装包

tar zxvf pcre-8.35.tar.gz

进入安装包目录:

cd  pcre-8.35

编译: 

 ./configure

安装:

make && make install 

安装Nginx

回到root目录: 

 cd /root/
wget http://nginx.org/download/nginx-1.16.0.tar.gz

解压安装包:

tar zxvf nginx-1.16.0.tar.gz

注意:这里要选好当前解压地址,解压完成就是Nginx所在的目录,本次实例在root根目录下解压

 进入到安装目录:

  cd  nginx-1.16.0

编译:

 ./configure --with-http_ssl_module

安装:

make && make install

启动和停止Nginx:

进入到Nginx安装目录:

cd //usr/local/nginx/sbin

启动Nginx:

 ./nginx

停止Nginx:(先不用停止)

./nginx -s stop

配置Nginx配置文件

进入到Nginx配置文件目录:   

//usr/local/nginx/conf

打开Nginx配置文件:

 vim nginx.conf

 修改完配置文件 ,回到sbin目录,重启Nginx

 ./nginx -s reload 

安装配置Node.js

下载Node.js(我下载在root目录)

wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.tar.xz 

解压,同样在root根目录下:

tar xvf node-v10.11.0-linux-x64.tar.xz

创建软连接,使node和npm命名全局有效

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

验证Node.js安装成功:

node -v 

(出现版本号即安装成功)

安装PM2管理Node.js服务

PM2是Node.js进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等。

主要特性:

  1. 内建负载均衡(使用node cluster集群模块,可是使用服务器上的所有cpu)
  2. 后台运行(node app.js 这种命令是直接在前台运行的,不稳定,很容易断)
  3. 0秒停机重载
  4. 停止不稳定的进程,避免无限循环
  5. 控制台检测

安装PM2(全局安装):

npm install -g pm2

创建软连接,使pm2命令全局有效:

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

打包项目,发布服务器

打包前端Vue文件

npm run  build

将dist生成的文件拷贝到Node项目public目录下,然后将Node项目放到服务器上,可以选择FTP工具

启动Node项目

进入Node项目根目录.

pm2 start app.js --name kanglang-music

使用 pm2 list 可以查看项目运行情况

重启项目服务

pm2 restart kanglang-music

提醒:千万不要忘记了防火墙

CentOS查看端口占用情况命令,列出所有端口 

netstat -ntlp 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ue4c++日记3(碰撞报告碰撞位置|力和扭矩)

目录 代码速查 根据世界方向/局部方向移动 根据世界方向/局部方向旋转 加力加扭矩 1碰撞并报告碰撞位置 两个设为阻挡才会阻挡,其中一个是重叠就会重叠 2例子:旋转前进!/原地踏步? 3增加力和扭矩 1.头文件 2.cpp文件 …

(14)go-micro微服务服务层Handle开发

文章目录一 Handle层开发功能说明需要完成的服务开发功能:从哪找需要开发的功能二 代码编写三 最后一 Handle层开发功能说明 需要完成的服务开发功能: 登录注册查询用户信息修改信息发送注册邮件发送重置密码邮件重置密码获取权限修改权限退出账号删除…

【计算机视觉】梯度消失和爆炸以及解决方法

问题 梯度消失无论是笔试还是面试都是常客了,其实对应于梯度消失,还有一个梯度爆炸的概念,这又是什么导致的呢?下面我们将根据公式推导来解释何为梯度消失与梯度爆炸。 梯度消失和梯度爆炸的表现 网络层数越多,模型训练的时候便越容易出现 梯度消失(gradient vanish) 和…

史上最全| 14种自动化分拣系统合集

导语大家好,我是智能仓储物流技术研习社的社长,你的老朋友,老K。新书上市《智能物流系统构成与技术实践》2023年度-厂商宣传合作位--->点击详情本文为研习社原创,违规转载必究01移栽式02偏转轮式03扫臂式04滑靴式05侧向翻转06推…

C++设计模式(3)——抽象工厂模式

抽象工厂模式 亦称: Abstract Factory 意图 抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。 问题 假设你正在开发一款家具商店模拟器。 你的代码中包括一些类, 用于表示: …

Vue3系列二:如何实现对响应式数据的代理

上一篇文章中,我们讲解了 Vue3 中对响应式系统的实现,本章节会更进一步的从数据层面分享 Vue3 中对响应式数据是如何进行代理的,本文主要从引用类型数据和基本类型数据两个方面进行讲解。 实现数据代理的基础 理解 Proxy 和 Reflect 首先&…

26.Isaac教程--导航算法

导航算法 本节详细介绍导航算法。 ISAAC教程合集地址: https://blog.csdn.net/kunhe0512/category_12163211.html 文章目录导航算法全局路径规划器规划器模型可见性图算法优化器轨迹规划器全局路径规划器 Isaac 框架中的全局规划器问题被分解为三类:规划器模型、…

SpringBoot使用Swagger2

SpringBoot使用Swagger21.引入swagger依赖2.添加swagger配置类3.测试Controller4.测试5.swagger的注解Api注解ApiOperation注解ApiImplicitParam、ApiImplicitParams注解ApiParam注解ApiResponse、ApiResponses注解ResponseHeader注解ApiModel、ApiModelProperty注解6.更多1.引…

Redis 分布式锁实现文章集锦

前言近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis&#xff0c…

PDF压缩在线怎么操作?这几个操作谁还不知道

我们在工作里经常处理非常多的文件,如果每个文件都要储存到设备上是非常困难的,因为这需要占用大量的内存,所以我们需要将PDF文件进行压缩,这样就可以释放我们设备的储存空间,不过对于很多人来说,压缩文件并…

自学Java篇之JFrame创建《石头迷阵小游戏》

自学Java篇之JFrame创建《石头迷阵小游戏》 根据黑马程序员java教程自学完java基础,觉得石头迷阵小游戏案例具有一定的编程练习价值,记录之。 最终效果: 案例主要思想流程: ​ 主要是思想是创建一个4*4的二维数组data&#xff…

【openGauss实战5】表管理及CURD

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验 一位上进心十足的【大数据领域博主】!😜&#x1f61…

汽车网络技术概述

车辆总线是一个专门的内部通信网络,将车辆(如汽车、公共汽车、火车、工业或农业车辆、船舶或飞机)内的部件相互连接。在电子学中,总线只是一个将多个电气或电子设备连接在一起的设备。车辆控制的特殊要求,如保证信息传…

数据分析-深度学习 Pytorch Day7

图像识别:CIFAR10图形识别1.CIFAR10数据集共有60000张彩色图像,这些图像式32*32*3,分为10个类,每个类6000张2.这里面有50000张用于训练,构成5个训练批,每一批10000张图;另外10000张用于测试&…

vhdx中的win10进行大版本系统升级

文章目录前言普通的win10大版本iso升级方式vhdx中的win10大版本升级方式难点分析 - 无法在虚拟驱动器上安装windows解决方案 - HyperV升级vhdx win10过程效果图hyperV虚机创建mbr引导启动项hyperV虚机设置在hyperV中升级过程图问题集锦问题一:hyverV虚机中升级报错&…

力扣刷题记录——561. 数组拆分、566. 重塑矩阵、575. 分糖果

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《力扣刷题记录——561. 数组拆分、566. 重塑矩阵、575. 分…

IDEA远程调试

1 概述 原理:本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。 被调试程序的远程虚拟机:作为 Debug 服务端,监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。 调试程序的本…

初识redis

1.初识Redis Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 NoSql 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符串、数值、甚至json:…

HTTPS一定可靠吗?

HTTPS一定可靠吗?中间人伪装服务器首先我们先看看客户端是如何验证证书的?数字证书签发和验证流程客户端校验服务端数字证书的过程如何出现中间人伪装服务器成服务器的情况?避免该情况中间人伪装服务器 客户端向服务端发起HTTPS建立连接请求时…

你知道吗?python lxml 库也能用于操作 svg 图片

在大多数场景中,我们都用 lxml 库解析网页源码,但你是否知道,lxml 库也是可以操作 svg 图片的。我们可以使用 lxml 中的 etree 模块来解析 SVG 文件,然后使用 SVG 中的各种元素和属性来进行操作。 python lxml 库操作 svg 图片lxm…