首页 > 系统相关 >nodejs和nginx配置

nodejs和nginx配置

时间:2023-10-16 23:22:51浏览次数:39  
标签:nodejs 配置 server nginx html error var port

用的是express模板。下载的是阿里云Nginx证书。配完nginx.conf,可以用 nginx -t; 检查一下,只要提示is ok和successful就行,

然后重启用 sudo service nginx reload; 如果提示‘Redirecting to /bin/systemctl reload nginx.service’,没有关系。

重点证书不仅要放在Nginx里,项目也是要读取的,没写项目的部分,导致一直连不上,以此为戒。

http{
#nginx.conf里的一些基本配置,此处省略,重点是以下部分

    #http配置
    upstream aaa.com{
        ip_hash; 
            server 127.0.0.1:4000;
    }

    server {
      listen       80;
        server_name  aaa.com www.aaa.com;
        location /{
            proxy_pass http://aaa.com;
            root /home/officialWebsite/public;
            index index.html;
       }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
   }

     # https配置
    upstream bbb.com {
        server 127.0.0.1:4001;
   }
    
    server {
        listen 443 ssl;
         # listen [::]:443 ssl;
        server_name bbb.com;

        ssl_certificate /etc/nginx/xxx.pem;  # 替换为你的SSL证书路径
        ssl_certificate_key /etc/nginx/xxx.key;  # 替换为你的SSL私钥路径

        location / {
            proxy_pass https://bbb.com;
            root /home/officialWebsite/public;
            index index.html;
            #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_set_header X-Forwarded-Proto $scheme;
          }

        error_page 404 /404.html;
        location = /404.html {
                root /usr/share/nginx/html;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root /usr/share/nginx/html;
        }
    }
}

  

bin下的www要开2个端口,一个https,一个http指向。

#!/usr/bin/env node

/**
 * Module dependencies.
 */

var app = require('../app');
var debug = require('debug')('officialwebsite:server');
var http = require('http');
var https = require('https');
var fs=require("fs");
var path = require('path');

/**
 * Get port from environment and store in Express.
 */
var httpPort = '4000';//http的端口号
var httpsPort = '4001';//https的端口号
var port = normalizePort(process.env.PORT || httpPort);
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port);
server.on('error', one rror);
server.on('listening', onListening);

/**
 * Normalize a port into a number, string, or false.
 */

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

/**
 * Event listener for HTTP server "error" event.
 */

function one rror(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  var bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port;

  // handle specific listen errors with friendly messages
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}

/**
 * Event listener for HTTP server "listening" event.
 */

function onListening() {
  var addr = server.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  debug('Listening on ' + bind);
  console.log('Listening on ' + bind);
}

var httpsweb={
  key:fs.readFileSync(path.join(__dirname, 'xxx.key')),//# 替换为你的SSL私钥路径
  cert:fs.readFileSync(path.join(__dirname, 'xxx.pem')),//# 替换为你的SSL证书路径
};
var sserver = https.createServer(httpsweb, app);
sserver.listen(httpsPort);
console.log('https',httpsPort)

 

标签:nodejs,配置,server,nginx,html,error,var,port
From: https://www.cnblogs.com/cyfhykx/p/17768639.html

相关文章

  • Java 开发环境配置
    转载:https://www.w3cschool.cn/java/java-environment-setup.htmlwindow系统安装java下载JDK 配置环境变量1.右击“我的电脑”→“属性”→“高级系统设置”→“高级”→“环境变量”; 在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"......
  • windows C++ 环境配置完整记录
    今日尝试在windows上配置C++编程环境,比Linux麻烦一些,但是搞清楚了也不复杂。大体上参考了vscode的官方教程,这里记录一下所有需要做的事情。基础流程安装vscode以及C/C++插件InstallingtheMinGW-w64toolchain主要利用了MSYS2,是一个在Windows平台上模拟Linux运......
  • 企业微信群机器人发送消息(二)机器人配置说明
    如何使用群机器人在终端某个群组添加机器人之后,创建者可以在机器人详情页看的该机器人特有的webhookurl。开发者可以按以下说明a向这个地址发起HTTPPOST请求,即可实现给该群组发送消息。下面举个简单的例子.假设webhook是:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key......
  • pom.xml 常用配置(三)
    SpringContext<!--SpringContext--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.2.RELEASE</version></dependency><dependen......
  • nginx无法将80端口转发到其他端口的解决方案
    解决方案就是:nginx只针对/etc/nginx/nginx.conf的配置文件起作用不要在/etc/nginx/conf.d文件夹下创建针对不同web服务的conf文件,而是直接在/etc/nginx文件夹下修改nginx.conf(最好将原先的保存一份为nginx.conf.back)将8880端口的服务转发到80端口上:worker_processes1;......
  • 【地表最强】深度学习环境配置攻略 | 【nvidia-driver】, 【cuda toolkit】, 【cudnn
    更新截止到2023.10.161.要素:linux(ubuntu22.04)nvidia-driver(也叫做cudadriver):英伟达GPU驱动,命令:nvidia-smicuda(也叫做cudatoolkit):这个必须有。CUDA是NVIDIA创建的一个并行计算平台和编程模型(用这个来跑深度学习),命令:nvcc-Vcudnn:nvidia开发的深度学习算子库,用......
  • Nginx介绍及配置
    1、简介Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。2、功能(1)请......
  • ABB机器人示教器中配置组输入输出
    很多学员在学习和使用机器人的过程中,会遇到一个很重要的东西,就是我们机器人要做输入输出时需要配置对应的信号。那我们配置对应信号的前提是要配置IO版。本篇文章就是基于已经配置好了DSQC652的信号板情况下的一个IO设置。注意:各位学员需要注意,并不是所有信号......
  • odoo中怎么为菜单配置权限组
      上面的需求是:为 ”设计识图“ 这个菜单添加权限:只有在设置>用户和公司>用户组中,会有一个名为“辅助组-设计识图”打钩后,才会显示这个菜单项: 实现上面的需求共三步:  1、在本模块的security目录下的\security\ir.model.access.csv下为模型添加权限(如果......
  • CentOS7部署后优化配置
    1.安装必要的组件、升级yum-yinstallwgetvimcd/etc/yum.repos.d/rm-rf/etc/yum.repos.d/*.repowgethttp://mirrors.aliyun.com/repo/Centos-7.repowgethttps://mirrors.aliyun.com/repo/epel-7.repowgethttps://mirrors.aliyun.com/repo/epel.repowgethttps......