nginx ,node 配置项目

本文介绍如何使用Node.js和Nginx部署Web应用,包括安装Node.js及npm,利用cnpm加速扩展安装,使用pm2管理进程,配置Nginx实现负载均衡与反向代理。

nginx ,node 配置项目

1.安装好node,npm
2.安装cnpm,-g是全局的

sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

3.通过cnpm安装扩展(淘宝镜像安装会很快)

cnpm install 

4.安装pm2

sudo cnpm install -g pm2 

5.开启服务

npm run server

server.js

var express = require('express');
var app = express();
var path = require('path');
var compression = require('compression')

app.use(compression());
app.use("/", express.static(path.join(__dirname, 'Public')));
app.use("/", express.static(__dirname));
app.use("*", function (req, res) {
    res.sendFile(path.join(__dirname, 'html/index.html'));
});


app.listen(7002);

6.编译项目

npm run start 
$ npm run start 

> snake@1.1.0 start /home/wwwroot/default/taiqi/snake
> export NODE_ENV=dev && atool-build --config webpack.config.dev.js -w --no-compress --devtool "#source-map" -o ./wx_build

?  1378/1378 build modules
webpack: bundle build is now finished.

7.访问项目

http://localhost:7002

8.配置nginx

server {
    listen       80;
    server_name  jiqing.snake.com;
    access_log  /home/wwwlogs/access.log;
    location / {
                if ($request_uri ~ ^/api.php/) {
                        proxy_pass http://xxx.snake.com;
                }
                if ($request_uri !~ ^/api.php/) {
                        proxy_pass http://localhost:7002;
                }

        }
}

再配置个域名指向服务器,或者配置个hosts

sudo vim /etc/hosts
### 如何用Nginx部署和反向代理Node.js项目 #### 配置Nginx以支持Node.js项目的步骤说明 为了实现Nginx作为反向代理来支持Node.js项目,需要完成以下几个方面的配置: 1. **启动Node.js服务** 在命令行中进入Node.js应用所在的目录,先执行`npm install`安装所需的依赖包,随后运行`node server.js`(假设入口文件名为`server.js`),从而启动Node.js应用程序以便它能监听并响应网络请求[^4]。 2. **编辑Nginx配置文件** 打开Nginx的站点配置文件,通常位于`/etc/nginx/sites-available/default`或者类似的路径下。修改该文件的内容如下所示: ```nginx server { listen 80; server_name yourdomain.com; location / { proxy_pass http://localhost:3000; # 假设Node.js运行在端口3000上 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 上述配置实现了将来自客户端的所有HTTP请求转发至本地正在运行的Node.js实例上的指定端口(此处为3000)。此过程即所谓的“反向代理”,有助于隐藏实际的应用程序地址以及增强安全防护措施[^2]。 3. **测试与重启Nginx服务** 修改完成后保存退出,并通过以下两条指令分别验证语法正确与否及重新加载新的配置项生效: ```bash sudo nginx -t sudo systemctl reload nginx ``` 如果一切正常,则访问绑定域名即可看到由Node.js渲染出来的页面效果;如果遇到错误提示,请仔细检查上述每一步骤是否有遗漏之处[^5]。 4. **集成优势总结** 将NginxNode.js相结合,借助前者强大的反向代理特性把外部流量引导给后者处理的同时还能兼顾其他诸如静态资源分发等功能模块,极大地提高了整个系统的性能表现、伸缩潜力还有安全保障水平[^3]。 ```python # 示例Python代码仅用于展示Markdown格式中的代码块使用方式,在当前场景下并无实际意义。 def example_function(): pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值