帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
nginx+nodejs 一台服务器站架多个网站
发布时间:2024-03-06 17:28:10   分类:帮助文档
nginx+nodejs 一台服务器站架多个网站

一、一台服务器架设多个 nodejs 网站的拓扑结构
二、搭建 Nodejs 生产环境
1、下载

下载 nodejs 二进制代码包或者,然后减压到 /usr/local/nodejs

2、配置环境变量
(1).vi /etc/profile
(2).最后面添加:

export NODE_HOME=/usr/local/nodejs/bin
export PATH=$NODE_HOME:$PATH

(3).:wq 保存,然后运行

source /etc/profile
三、nodejs 进程管理器 pm2 的使用


PM2
是一款非常优秀的
Node
进程管理工具,它有着
丰富的特性

能够充分利用多核CPU

能够负载均衡
、能够帮助应用在崩溃后、指定时间(cluster model)
和超出最大内存限制等情况下实现
自动重启
,
PM2是开源的基于Nodejs
的进程管理器,包括
守护进程

监控
,日志的一整套完整的功能


1.PM2 的主要特性


(1).内建负载均衡(使用
Node cluster
集群模块)


(2).后台运行


(3).0
秒停机重载,大概意思是
维护升级的时候不需要停机


(4).具有
Ubuntu

CentOS
的启动脚本


(5).停止不稳定的进程(避免无限循环)


(6).控制台检测



2.PM2 的常见命令
(1).pm2 的安装
npm install pm2 -g # 命令行安装 pm2
 (2).运行pm2的程序并指定name
pm2 start app.js --name www_xxx_com
pm2 start app.js -i 3 --name www_xxx_com 3 启动 3 个进程 (自带负载均衡)
 (3).显示所有进程状态
pm2 list
(4).显示所有进程日志
pm2 logs
(5).显示一个进程的日志
pm2 logs www_xxx_com
(6).关闭重启所有进程
pm2 stop all # 停止所有进程
pm2 restart all # 重启所有进程
pm2 reload all # 0 秒停机重载进程 (用于 NETWORKED 进程)
(7).关闭重启指定进程
pm2 stop 0 # 停止指定的进程
pm2 restart 0 # 重启指定的进程
pm2 stop www_xxx_com
pm2 restart www_xxx_com
(8).杀死进程
pm2 delete 0 # 杀死指定的进程
pm2 delete all # 杀死全部进程
pm2 delete www_xxx_com # 杀死指定名字的进程
(9).显示相应进程/应用的总体信息
pm2 show www_xxx_com
三、相关防火墙配置

见【精选】CentOS8防火墙相关命令

 四、Nginx 反向代理,负载均衡配置

见nginx配置详解-博客,为什么要用到Nginx来做负载均衡?为什么要做动静分离?,Nginx 反向代理与负载均衡详解

反向代理配置案例

找到nignx下对应的conf配置

server {
listen 80;
server_name www.xxx.com;
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实 IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#禁用缓存
proxy_buffering off;
#反向代理的地址
proxy_pass http://127.0.0.1:3001;
}
}

然后配置hosts:
        192.168.1.111 www.xxx.com  #自己的ip
然后浏览器输入www.xxx.com, 就会通过nginx转发到127.0.0.1:3001,这就是反向代理操作

Nginx 负载均衡
1.准备工作
(1).关闭 Selinux
(2).开启防火墙对应端口 
2.负载均衡的种类


(1).一种是通过硬件来进行解决,常见的硬件有
NetScaler

F5

Radware

Array
等商用的负载均衡器,但是它们是比较昂贵的




(2).一种是通过软件来进行解决的,常见的软件有
LVS

Nginx

apache

,
它们是基于
Linux系统并且开源的负载均衡策略




Nginx
的特点
是占有内存少,并发能力强,事实上
nginx
的并发能力确实在同类型的网页服务器中表现最好


3.nginx的upstream目前支持3种方式的分配 
(1).轮询(默认)


每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器
down
掉, 能自动剔除


(2).weight权重:you can you up


指定轮询几率,
weight
和访问比率成正比,用于后端服务器性能不均的情况


(3).ip_hash:ip哈希算法


每个请求按访问
ip

hash
结果分配,这样每个访客固定访问一个后端服务器,
可以解决 session 的问题


4.配置负载均衡 


找到
/etc/nginx/conf.d
然后在里面新建对应网站的配置文件


upstream xxx{
ip_hash;
server 127.0.0.1:3001 weight=1;
server 127.0.0.1:3001 weight=3;
}

server {
listen 80;
server_name www.xxx.com;
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实 IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#禁用缓存
proxy_buffering off;
#反向代理的地址
proxy_pass http://xxx;
}
}

 然后重启nignx就可以了


好了,在nginx中使用nodejs 以及搭建一台服务器站架多个网站就完成了



香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价