如何用nodejs启一个前端服务

本文详细介绍如何使用Node.js创建一个简单的HTTP服务器,包括设置文件夹、编写HTML与JS文件,以及利用http模块监听请求并响应。通过步骤指导,读者可以学会在本地搭建服务器,并通过浏览器访问自定义页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、新建文件夹,如 notice

2、新建页面和js文件,如 index.html server.js

3、index.html页面内容随你写,如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    你看到的这个页面是首页
</body>
</html>

4、关键的 server.js

var http=require('http'); //用来启服务
var fs=require('fs'); //用来读取文件
var root="C:/Users/Administrator/Desktop/notice" //你本地放index.html页面的文件路径

//
开启服务 var server=http.createServer(function(req,res){ var url=req.url; var file = root+url; fs.readFile(file,function(err,data){ if(err){ res.writeHeader(404,{ 'content-type' : 'text/html;charset="utf-8"' }); res.write('<h1>404错误</h1><p>你要找的页面不存在</p>'); res.end(); }else{ res.writeHeader(200,{ 'content-type' : 'text/html;charset="utf-8"' }); res.write(data);//将index.html显示在客户端 res.end(); } }) }).listen(8888); //端口号 console.log('服务器开启成功');

5、输入命令启动服务: node server.js

6、出现下图,说明服务启动成功

7、打开浏览器,输入ip+端口号/文件名即可打开文件,如 127.0.0.1:8888/index.html

8、如果还需新建文件,则新建的文件一定放在跟index.html同一目录下,否则会检索不到

 

转载于:https://www.cnblogs.com/muou2125/p/10190118.html

<think>我们已经在本地使用Maven打包了Ruoyi项目,现在需要在腾讯云服务器上使用Xshell进行部署。部署分为后端Spring Boot项目和前端Vue项目(如果前端是单独部署的,但Ruoyi默认是前后端分离,但打包后前端资源被嵌入到后端JAR中,所以只需部署JAR即可。但注意,有些Ruoyi版本前端是独立部署的,需要根据实际情况判断)。 根据引用[2]和[3],Ruoyi框架有两种部署方式: 1. 前后端不分离:前端Vue打包后的静态资源被嵌入到Spring Boot的JAR包中,只需运行JAR即可。 2. 前后端分离:前端单独部署(如使用Nginx),后端部署JAR并提供API。 这里我们假设用户使用的是前后端不分离的部署方式(因为问题中提到了使用Maven打包前端和后端,并且Ruoyi官方文档中Maven打包会同时构建前端并放入后端)。 步骤概览: 1. 在腾讯云服务器上安装必要环境(Java, Node.js(如果前端需要独立部署则安装,否则不需要),Nginx(可选,如果前端独立部署则需要))。 2. 使用Xshell连接腾讯云服务器。 3. 上传打包好的JAR文件(如果是前后端不分离)或者上传前端静态文件和后端JAR(如果前后端分离)。 4. 动后端服务。 5. (如果前后端分离)配置Nginx代理前端并反向代理后端API。 由于问题中提到了使用Maven打包,且之前已经打包成JAR(包含前端),所以这里我们按前后端不分离的方式部署。 详细步骤: ### 一、服务器环境准备 1. **安装Java**: - Ruoyi需要JDK1.8或以上版本(推荐JDK11)。 - 使用Xshell登录服务器,执行以下命令安装OpenJDK11: ```bash sudo apt update sudo apt install openjdk-11-jdk ``` - 验证安装:`java -version` 2. **(可选)安装Node.js和Nginx**: - 如果前端需要独立部署(比如你修改了配置为前后端分离模式),则需要安装Node.js构建前端和Nginx部署前端。 - 但根据问题描述,我们默认使用前后端不分离,所以此步骤可跳过。 ### 二、上传项目文件 1. **本地打包**: - 确保在本地已经使用Maven打包成功,生成`ruoyi-admin/target/ruoyi-admin.jar`。 2. **上传JAR文件**: - 使用Xshell的SFTP功能(或Xftp)上传JAR文件到云服务器。 - 在Xshell中,按`Alt+P`打开SFTP,然后输入: ```sftp put 本地路径/ruoyi-admin.jar 服务器目标路径(例如:/home/ubuntu/ruoyi) ``` - 或者使用`scp`命令(在本地终端): ```bash scp -P 22(如果端口不是22,请修改) ruoyi-admin.jar ubuntu@服务器IP:/home/ubuntu/ruoyi/ ``` ### 三、动后端服务 1. **运行JAR**: ```bash cd /home/ubuntu/ruoyi nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > ruoyi.log 2>&1 & ``` - `nohup`:确保在退出终端后程序继续运行。 - `--spring.profiles.active=prod`:使用生产环境配置。 - 日志输出到`ruoyi.log`。 2. **检查运行状态**: ```bash tail -f ruoyi.log ``` 看到动成功的日志(如:Started RuoYiApplication in XX seconds)即可。 3. **防火墙设置**: - 如果使用云服务器,需要开放端口(默认8080): - 腾讯云控制台 -> 安全组 -> 添加入站规则:TCP:8080(或你修改的端口) - 如果需要80端口访问,可以使用反向代理(如Nginx)将80端口请求转发到8080。 ### 四、访问测试 在浏览器访问:`http://服务器IP:8080`,应该能看到登录页面。 ### 五、(可选)配置Nginx反向代理(使用80端口) 1. 安装Nginx: ```bash sudo apt install nginx ``` 2. 配置反向代理: - 编辑配置文件:`sudo vi /etc/nginx/sites-available/ruoyi` ```nginx server { listen 80; server_name your_domain.com; # 如果没有域名,可以用服务器IP location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` - 创建符号链接: ```bash sudo ln -s /etc/nginx/sites-available/ruoyi /etc/nginx/sites-enabled/ ``` - 测试配置并重: ```bash sudo nginx -t sudo systemctl restart nginx ``` ### 六、常见问题 1. **端口冲突**:如果8080端口被占用,可以在动JAR时指定端口:`--server.port=9090` 2. **内存不足**:如果服务器内存小,可以调整JVM参数: ```bash nohup java -Xms256m -Xmx512m -jar ruoyi-admin.jar --spring.profiles.active=prod > ruoyi.log 2>&1 & ``` 3. **数据库连接失败**:确保云服务器的数据库配置正确(在`application-prod.yml`或`application-druid-prod.yml`中),并且云服务器安全组开放了数据库端口(如3306),如果数据库在本地,需要修改为云服务器数据库地址。 ### 七、部署前端(如果前后端分离) 如果项目是前后端分离部署,则需要: 1. 前端打包:在本地进入`ruoyi-ui`,执行`npm run build:prod`,生成`dist`文件夹。 2. 上传`dist`文件夹到云服务器(例如:`/home/ubuntu/ruoyi-ui`)。 3. 配置Nginx指向该目录: ```nginx server { listen 80; server_name your_domain.com; location / { root /home/ubuntu/ruoyi-ui/dist; index index.html index.htm; try_files $uri $uri/ /index.html; } location /prod-api/ { # 根据实际后端API前缀配置 proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 4. 重Nginx。 ### 注意事项 - 生产环境建议使用数据库服务(如云数据库MySQL),而不是本地安装的数据库。 - 定期备份数据。 - 使用进程管理工具(如`systemd`)来管理Spring Boot应用,实现开机自和自动重。 ### 相关问题 1. 如何配置Ruoyi项目使用云数据库(如腾讯云MySQL)? 2. 如何使用systemd管理Ruoyi的后台服务? 3. 如何为Ruoyi项目配置HTTPS安全访问?</think>### 在腾讯云服务器使用Xshell部署Ruoyi框架的完整指南 #### 一、服务器环境准备(通过Xshell操作) 1. **连接腾讯云服务器**: ```bash ssh ubuntu@your_server_ip # 替换为你的服务器IP ``` 2. **安装基础环境**: ```bash # 安装JDK 11 sudo apt update sudo apt install openjdk-11-jdk -y # 安装Maven sudo apt install maven -y # 安装Node.js(用于前端构建) curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install nodejs -y ``` 3. **验证安装**: ```bash java -version # 应显示Java 11 mvn -v # 应显示Maven版本 node -v # 应显示Node.js v14+ ``` #### 二、项目上传与构建 1. **本地打包项目**(在VS Code中执行): ```bash # 在项目根目录执行 mvn clean package -Dmaven.test.skip=true -Pprod ``` 生成文件:`ruoyi-admin/target/ruoyi-admin.jar`(约50MB) 2. **上传文件到服务器**(通过Xshell): - 使用Xshell的SFTP功能: ```bash # 在Xshell中按Alt+P打开SFTP sftp> put /本地路径/ruoyi-admin.jar /home/ubuntu/ruoyi/ ``` - 或使用SCP命令: ```bash scp -P 22 ruoyi-admin.jar ubuntu@your_server_ip:/home/ubuntu/ruoyi/ ``` #### 三、服务器端部署 1. **动后端服务**: ```bash cd /home/ubuntu/ruoyi nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > ruoyi.log 2>&1 & ``` - `nohup`:保持后台运行 - `--spring.profiles.active=prod`:用生产环境配置 - 日志输出到`ruoyi.log` 2. **验证服务状态**: ```bash tail -f ruoyi.log # 查看实时日志 ``` 看到以下日志表示动成功: ``` Started RuoYiApplication in 15.32 seconds (JVM running for 16.5) ``` 3. **配置防火墙**(腾讯云控制台): - 开放端口:80(HTTP)/443(HTTPS)/8080(应用端口) - 路径:云服务器 → 安全组 → 编辑入站规则 #### 四、访问验证 1. **直接访问后端**: ``` http://服务器IP:8080 ``` 2. **通过Nginx反向代理**(推荐): ```bash sudo apt install nginx sudo vi /etc/nginx/sites-available/ruoyi ``` 添加配置: ```nginx server { listen 80; server_name your_domain.com; # 替换为域名或IP location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` 用配置: ```bash sudo ln -s /etc/nginx/sites-available/ruoyi /etc/nginx/sites-enabled/ sudo systemctl restart nginx ``` #### 五、常见问题解决 1. **端口冲突**: ```bash # 查看占用8080端口的进程 sudo lsof -i :8080 # 终止进程 sudo kill -9 <PID> ``` 2. **内存不足**: ```bash # 动时限制内存 nohup java -Xms512m -Xmx1024m -jar ruoyi-admin.jar ... ``` 3. **数据库连接失败**: - 检查`application-druid.yml`配置: ```yaml url: jdbc:mysql://云数据库IP:3306/ry?useSSL=false username: cloud_db_user # 使用云数据库账号 password: cloud_db_pass ``` - 确保腾讯云数据库白名单添加服务器IP[^2] #### 六、运维优化 1. **使用systemd管理服务**: ```bash sudo vi /etc/systemd/system/ruoyi.service ``` 添加配置: ```ini [Unit] Description=RuoYi Service After=network.target [Service] User=ubuntu ExecStart=/usr/bin/java -jar /home/ubuntu/ruoyi/ruoyi-admin.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target ``` 服务: ```bash sudo systemctl daemon-reload sudo systemctl start ruoyi sudo systemctl enable ruoyi # 开机自 ``` 2. **日志管理**: ```bash # 按日期分割日志 sudo apt install logrotate sudo vi /etc/logrotate.d/ruoyi ``` 添加: ``` /home/ubuntu/ruoyi/ruoyi.log { daily rotate 30 compress missingok notifempty } ``` > **提示**:腾讯云服务器建议开云监控和自动快照功能,定期备份数据[^1]。生产环境推荐使用腾讯云数据库MySQL版替代自建数据库,提供自动备份和高可用功能[^3]。 ### 相关问题 1. 如何配置Ruoyi项目使用腾讯云对象存储(COS)保存文件? 2. 如何在腾讯云上实现Ruoyi集群部署和负载均衡? 3. 如何为Ruoyi项目配置HTTPS证书并用HTTP/2?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值