news 2026/4/23 13:11:38

Linux部署Nginx前后端web教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux部署Nginx前后端web教程

一、前言

目前Linux部署web类似于IIS,主要有两种方式来实现:Apache、Nginx;

Nginx性能更高一点,这里着重讲;

二、准备

1、安装 Nginx:

sudo apt install -y nginx

2、启动并设置 Nginx 开机自启:

sudo systemctl start nginx sudo systemctl enable nginx

3、验证 Nginx 是否运行正常:

sudo systemctl status nginx

4、查看防火墙开放端口:

sudo ufw status

若无,下载启用防火墙:

sudo apt install -y ufw sudo ufw enable

5、开放所需端口:

sudo ufw allow 80 /tcp

须知:80默认开放,所有与Linux交互的端口都必须开放,否则只本机能连;

三、部署前端

1、提前打包好前端文件;

2、将文件复制至var/www/html

须知:默认存在html文件夹,你也可自己创建文件夹,html内部有.html文件的话需删除或替换;

不会复制的看我上期:快速上手!查看、拷贝、编辑、远程连接Linux命令-CSDN博客

若使用的是自己创建的文件则,创建符号链接以启用该站点配置:

sudo ln -s /etc/nginx/sites-available/my_http_api(创建文件名称) /etc/nginx/sites-enabled/

测试配置文件是否正确:

sudo nginx -t

3、重启Nginx服务:

sudo systemctl restart nginx

4、成功样例:

须知:默认调用80端口,确保防火墙和公网开放80端口,若想自定义端口,可看部署后端配置文件配置;

四、部署后端

前言:这里所做的是Nginx转发后端,就是将Linux所对应端口所传入转发至另个服务器,另个服务器处理之后返回;

1、配置 Nginx :

sudo nano /etc/nginx/sites-available/default

须知:主配置文件通常位于/etc/nginx/nginx.conf,而站点配置文件通常位于/etc/nginx/sites-available/目录下;

nano命令操作文件快捷键:

只需要记住:ctrl+X退出,Y保存,enter关闭;

80默认存在,假设我需要8080,完整放入配置最下面

server { listen 8080; # 可更改8080端口 listen [::]:8080; root /var/www/html; # 部署web的根目录 index index.html index.htm; server_name _; location / { # 启用目录列表功能(一般不启用,看个人) # autoindex on; # autoindex_exact_size off; # 显示文件大小为人类可读格式(如 KB、MB) # autoindex_localtime on; # 显示文件的本地时间 try_files $uri $uri/ =404; } # 针对 .ashx 动态web文件,若服务器转发删除上发loaction,去除下方'#' # location ~ \.ashx$ { # proxy_pass http://ip:port; # 转发服务器部署IIS的http的url # proxy_set_header Host $host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # } }

针对https:

server { listen 443 ssl; # 可更改443端口 server_name your_domain; # 域名 # 指定根目录 root /var/www/html; index index.html; # SSL 配置 自定义证书路径 ssl_certificate /home/your_domain/fullchain.pfx; ssl_certificate_key /home/your_domain/privkey.txt; # SSL 安全设置(推荐) ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers HIGH:!aNULL:!MD5; # 处理请求的规则 location / { try_files $uri $uri/ =404; } # 针对 .ashx 动态web文件,若服务器转发删除上发loaction,去除下方'#' # location ~ \.ashx$ { # proxy_pass http://ip:port; # 转发服务器部署IIS的http的url # proxy_set_header Host $host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

2、测试配置文件是否正确:

sudo nginx -t

3、重启Nginx服务:

sudo systemctl restart nginx

4、成功样例:

访问前端界面:

调用后端接口:

须知:10058是我自定义的,和上方8080一样,确保防火墙和公网开放端口;

五、结语

1、失败最大可能性是端口是否开放了;

2、转发服务器的url是否有效;

3、配置是否正确,配置后是否重启Nginx;

4、关于Linux命令操作教程:快速上手!查看、拷贝、编辑、远程连接Linux命令-CSDN博客

5、关于Linux与Mysql:Ubuntu Linux远程连接Mysql(Linux or Windows)_linux上服务连接window上的mysql服务-CSDN博客

6、关于部署.net:.net程序部署Linux运行_liunk部署net程序-CSDN博客

至此,关于Linux的运用大致概全了;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:45:21

Git版本控制:高效开发必备利器

版本控制系统 为什么要有版本控制系统 在开发过程中,经常需要对一个文件进行修改甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂。 什么是版本控制系统 版本控制系统(Ve…

作者头像 李华
网站建设 2026/4/16 0:41:16

一个认证,让触摸屏贵20%?

hello,朋友们前段时间行业内有位新朋友问小编,为什么一个认证就让触摸屏贵出20%?那今天,小编就和大家一起聊聊“触摸屏的相关认证”到底是怎么一回事儿。那咱们就先来说说CE认证——它代表欧盟范围内通用的产品安全与合规标志。说…

作者头像 李华
网站建设 2026/4/23 12:10:38

LangFlow话题标签生成建议工具

LangFlow:让AI工作流设计像搭积木一样简单 想象一下,你正在和产品经理讨论一个新功能——用大语言模型自动生成客户投诉的响应建议。以往这种需求需要写一堆代码、调试链式调用、处理异常输入……但今天,你们只用了十分钟就在一张画布上“画”…

作者头像 李华
网站建设 2026/4/23 12:13:26

SpringBoot+Vue 七彩云南文化旅游网站平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 七彩云南作为中国旅游资源最为丰富的省份之一,拥有独特的自然景观和多元的民族文化,吸引了大量国内外游客。随着数字化时代的到来,传统的旅游宣传方式已无法满足游客对信息获取的便捷性和互动性的需求。因此,构建一个集旅游资…

作者头像 李华
网站建设 2026/4/23 12:11:53

LangFlowGRE词汇记忆卡片生成器

LangFlowGRE词汇记忆卡片生成器 在教育科技的前沿,一个有趣的现象正在发生:越来越多非程序员——教师、内容创作者甚至备考学生自己——开始构建属于自己的AI学习助手。他们不需要写一行代码,却能快速搭建出像“GRE词汇记忆卡片生成器”这样的…

作者头像 李华
网站建设 2026/4/18 14:52:11

LangFlow地理地貌特征描述生成器

LangFlow地理地貌特征描述生成器 在撰写区域地理评估报告时,GIS工程师常常面临一个重复而繁琐的任务:为数十甚至上百个地理单元逐一撰写标准化的地貌特征描述。传统方式依赖人工编写或简单模板填充,不仅效率低下,且难以保证语言的…

作者头像 李华