node启动webserver

var http = require('http');
var fs = require('fs');
var url = require('url');
 
// 创建服务器
http.createServer( function (request, response) {  
   // 解析请求,包括文件名
   var pathname = url.parse(request.url).pathname;
   //request.header("Content-Type", "text/html");  
   
   // 输出请求的文件名
   console.log("Request for " + pathname + " received.");
   
   // 从文件系统中读取请求的文件内容
   fs.readFile(pathname.substr(1), function (err, data) {
      if (err) {
         console.log(err);
         // HTTP 状态码: 404 : NOT FOUND
         // Content Type: text/html
         response.writeHead(404, {'Content-Type': 'text/html'});
      }else{             
         // HTTP 状态码: 200 : OK
         // Content Type: text/html
         response.writeHead(200, {'Content-Type': 'text/html'});    
         console.log('SUCCESS!');
         var url_request = url.parse(request.url).pathname;      
         var tmp  = url_request.lastIndexOf(".");
         var extension  = url_request.substring((tmp + 1));
          // set content type
          if (extension === 'html') response.writeHeader(200,{"Content-Type": 'text/html'});
          else if (extension === 'htm') response.writeHeader(200,{"Content-Type": 'text/html'});
          else if (extension === 'css') response.writeHeader(200,{"Content-Type": 'text/css'});
          else if (extension === 'js') response.writeHeader(200,{"Content-Type": 'text/javascript'});
          else if (extension === 'png') response.writeHeader(200,{"Content-Type": 'image/png'});
          else if (extension === 'jpg') response.writeHeader(200,{"Content-Type": 'image/jpg'});
          else if (extension === 'jpeg') response.writeHeader(200,{"Content-Type": 'image/jpeg'});
          else { console.log("NO CORRECT EXTENSION")};
          response.end(data);
      }
      //  发送响应数据
      response.end();
   });   
}).listen(9090);
 
// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:9090/');

将以上 代码 粘贴 新建本地 文件 server.js,命令行 运行 node server.js
没有报错,正常启动node webserver

Linux WebServer 是基于 Linux 操作系统的 Web 服务器软件,它主要负责接收来自互联网用户的 HTTP 请求并将请求转发给相应的网页文件,或返回静态内容至客户端浏览器显示。Linux WebServer 广泛应用于网站托管、应用程序部署等领域,是搭建互联网站点的基础设施之一。 ### 主要功能与用途 1. **网页展示**:接受 HTTP 请求,找到对应 HTML 文件或其他类型的资源,并将其发送回客户端浏览器。 2. **静态资源服务**:提供静态文件(如图片、样式表、JavaScript 文件)的快速访问,无需解析复杂的网页结构。 3. **动态内容生成**:通过解释和执行脚本语言(如 PHP、Python 或 Node.js 等),动态生成页面内容。 4. **反向代理**:可以配置为反向代理服务器,将外部流量路由到内部的服务或应用。 5. **负载均衡**:在一个集群的多个服务器之间分配工作负载,提高服务的可用性和响应速度。 ### 主流 Linux WebServer 类型及其特点 #### Apache HTTP Server - **最广泛使用的 Web 服务器**。 - 支持多种文档类型,可配置性强。 - 提供丰富的模块和插件支持,便于定制。 - 使用广泛,有大量的教程和支持资源。 #### Nginx - **高效和低内存消耗**。 - 双栈支持(HTTP 和 HTTPS),默认开启 SSL 功能。 - 优秀的静态文件服务器,性能优于 Apache。 - 被认为是现代 Web 服务器的首选,在处理高并发连接方面非常出色。 #### Lighttpd - **体积小,配置灵活**。 - 提供更少的功能集,旨在提供高效的性能。 - 支持多种网络协议,包括 FTP 和代理服务器功能。 #### IIS (Microsoft Internet Information Services) 虽然不是直接在 Linux 上运行,但对于 Windows 系统下的网站来说非常重要。 ### 配置与管理 Linux WebServer 的配置涉及目录权限设置、防火墙规则调整、安全策略实施等多个方面。使用如 SSH 登录服务器,通过文本编辑器修改配置文件(如 /etc/apache2/httpd.conf 对于 Apache),并在必要时利用服务器管理面板或命令行工具进行操作。 ### 相关问题 -: 1. **如何在 CentOS 中安装并配置 Nginx WebServer?** - 安装:`sudo yum install epel-release` - 更新:`sudo yum update` - 安装 Nginx:`sudo yum install nginx` - 启动并设置开机自启:`sudo systemctl start nginx` 和 `sudo systemctl enable nginx` 2. **Linux WebServer 性能优化的关键点有哪些?** - 缓存配置、压缩静态资源、减少 DNS 查找次数、合理的超时设置、合理使用多线程或多进程模式。 3. **如何使用 Linux WebServer 实现基本的身份验证与授权?** - 对于 Apache,可以使用 Basic Auth 来实现简单的身份验证。 - 使用 .htaccess 文件配合 mod_authnz_sspi 模块来实现更复杂的认证流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值