首页 > 其他分享 >创建 HTTP 服务器监听端口的方法

创建 HTTP 服务器监听端口的方法

时间:2023-11-30 12:11:41浏览次数:43  
标签:http 端口 服务器 HTTP 监听 端口号

Node.js 创建 HTTP 服务器监听端口的方法

一、使用 http 模块创建服务器

Node.js 内置了 http 模块,通过它我们可以轻松创建一个 HTTP 服务器。下面是一个简单的例子:

const http = require('http');

const server = http.createServer((req, res) => {
  // 处理请求逻辑
  res.end('Hello World\n'); 
});

server.listen(3000, () => {
  console.log('服务器启动成功!');  
});

  

主要注意以下几点:

  • 使用 http.createServer() 方法创建服务器实例
  • 回调函数处理请求和响应
  • server.listen() 方法进行监听,启动服务器

createServer 会返回一个服务器实例,其底层封装了 net.Server,然后在这个服务器上可以监听指定端口。

二、使用 Express 框架创建

Express 提供了简洁的接口封装了服务器的创建,我们可以直接通过几行代码构建一个完整的服务器:

const express = require('express');

const app = express(); 

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('服务器启动成功!');  
});

  

使用 Express 避免了很多重复代码的编写,可以更加专注在服务器功能和业务逻辑的实现上。

三、监听端口号选择

监听端口在配置服务器的时候需要特别注意,推荐的做法是:

  • 使用大于 1024 的端口号,可以避免需要额外权限的低端口
  • 不要使用一些常见服务已占用的端口,避免冲突
  • 同一台服务器上的不同应用使用不同端口
  • 端口配置最好集中化管理,保证所有环境知晓

注意如果一个端口已被占用,重新监听该端口号会报错,这时需要换一个端口号或者排查终止占用该端口的进程。

四、小结

熟练掌握 Node.js 中的 HTTP 服务器构建,能够使我们基于 Node 迅速实现各种网络服务。同时配置合理的端口号也是部署线上服务需要注意的点。

标签:http,端口,服务器,HTTP,监听,端口号
From: https://www.cnblogs.com/mojiomo/p/17867022.html

相关文章

  • vue3页面中,两个相同组件,一个卸载,一个挂载,后展示的组件事件监听不生效?
    场景:在实际开发中,遇到了这样一种场景,vue3页面,两个相同组件,在满足某条件下展示第一个组件,满足另一个条件下,隐藏第一个组件,同时展示第二个组件,比如反馈组件,会通过window.addEventListener来监听自定义的反馈弹窗展示和隐藏事件。结果:两个相同组件一个卸载,一个挂载,第一个组监听的......
  • 2023-11-30 记录实用小案例 —— react监听页面返回时执行事件
    useEffect(()=>{consthandlePageBack=()=>{//此处写你想要触发的事件};//监听浏览器的popstate事件,即页面返回事件window.addEventListener('popstate',handlePageBack);//在组件卸载时移除事件监听return()=>{......
  • httpservletrequest创建新会话/更改会话Id
    JAVA中文网首页/问题&答案/正文javahttpservletrequest创建新会话/更改会话Id10 月,2 周Questions&Answers79805我正在维护一个Javaweb应用程序查看登录代码,它通过HttpServletRequest的getSession()方法从HttpServletRequest获取HttpSession。(它在会话中使......
  • Linux 启动测试端口
    当我想查看一台服务器80端口是否对外开放了,但服务器本地并没有启用80端口,如果通过搭建nginx或httpd服务,又比较麻烦,有一个简单的办法就是临时启动一个端口,命令如下:nc-lp80&这样就在后台启用了一个80监听端口 参考连接:https://blog.csdn.net/qq_37139220/article/details/10......
  • 使用 Charles 抓取 Java 应用内 HTTP/HTTPS 请求
    代码设置OkHttpClientclient=newOkHttpClient();System.setProperty("http.proxyHost","127.0.0.1");System.setProperty("https.proxyHost","127.0.0.1");System.setProperty("http.proxyPort"......
  • javaswing控件以及事件监听器
    package百度翻译实验;importjava.text.SimpleDateFormat;importjava.util.Date;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassframeextendsJFrame......
  • HTTP参数发现工具-Arjun
    1、简介Arjun是一款可以找到URL端点查询参数的工具。Web应用程序使用参数(或查询)来接受用户输入,此工具可以帮助渗透测试人员方便查找隐藏的参数。2、内容此工具支持以下功能:支持GET/POST/POST-JSON/POST-XML请求自动处理速率限制和超时将结果导出到:BurpSuite、文本或JSON文件从......
  • uhttp luci cgi-bin 自定义输出内容
    uhttplucicgi-bin自定义输出内容来源  https://www.cnblogs.com/osnosn/p/17131543.html 参考【ExampleofwebinterfaceusinguHTTPdandLua】【Lua5.1ReferenceManual】openwrt,op18,op19,op21,op22都是用的lua-5.1.5。修改openwrtuhttpd使用的ssl......
  • MQTT vs. HTTP: which one is the best for IoT?
    MQTTvs.HTTP:whichoneisthebestforIoT? BeginnersGuideToTheMQTTProtocolhttp://www.steves-internet-guide.com/mqtt/翻译搜索复制......
  • 如何正确的在AIX 7上正确开启大页内存(large page)on oracle 11.2.0.4 rac 转发 https:
    1、关于大页有个客户的业务系统上要开启大页,提高系统性能,研究了一下,网上文章太多,自己做了一些测试,经过实机测试,整理了一下操作记录。关于AIX上为什么要开启大页,借用MOS里的说明原文:StartingwiththeAIXV5.1operatingsystemwhenrunningonIBMPOWER4orPOWER5proces......