5分钟教你快速配置nginx实现访问

article/2025/8/25 17:42:06

文章目录

    • 需求
    • 操作步骤
      • 一、开放端口
      • 二、在nginx配置文件中配置端口
          • 1)server块
          • 2)区分root和alias
          • 3)区分server块的root和location块的root
          • 4)proxy_pass处理跨域
      • 三、根据配置文件往路径下丢包
    • 总结

需求

工作中我们时常需要完成个性化任务,有些甚至涉及从零搭建客户需要的一套代码项目。以移动端+vue+nginx为例,如何将本地代码部署到客户现场?

操作步骤

一、开放端口

sudo firewall-cmd --zone=public --add-port=4161/tcp --permanent

很多人会忽视这一步。在我的工作场景中,可能客户现场的实施人员已经自行完成nginx部署,却发现始终无法访问。其实是因为服务器防火墙并未开放端口。(如上,以4161为例)

sudo firewall-cmd --reload

执行命令后们需要重新加载,保险起见可通过list查看是否开启此端口。

二、在nginx配置文件中配置端口

同样以4161为例,键入以下server块:

server {listen  4161;root   /opt/example/h5/dist;location / {try_files $uri $uri/ /index.html;          }location /h5 {alias  /opt/example/h5/dist;index  index.html index.htm;try_files $uri $uri/ /index.html;            }location /api {proxy_pass http://172.xx.xx.xx:8080/;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;}}

网上有很多大佬分享了nginx相关知识,这里就简单描述一下:

1)server块

nginx配置文件的位置通常在 /nginx/conf 或是/etc/nginx 下,main块相当于全局配置、server块相当于单独为每个端口进行指定配置。

listen  4161; // 监听端口
2)区分root和alias
location /h5 {root /absolute;
}location /h5 {alias /relative;
}

root和alias的区别在于:
· alias指定的路径就是真实静态资源的路径;
· root指定的路径是在以location块名称为文件夹下的路径;

访问 http://172.xx.xx.xx:4161/h5/absolute
= 访问 http://172.xx.xx.xx:4161/relative
3)区分server块的root和location块的root

server块里的root相当于直接访问,如 http://172.xx.xx.xx:4161/
location块里的root相当于是添加了二级路径访问,如 http://172.xx.xx.xx:4161/h5/

访问 http://172.xx.xx.xx:4161/ 
= 访问 http://172.xx.xx.xx:4161/h5/

直接访问
添加二级路径访问

4)proxy_pass处理跨域

如何在当前ip下访问其他域名?这个时候就用到proxy_pass进行代理,你可以理解为以/api的名义去请求另一个域名。

location /api {proxy_pass http://172.xx.xx.xx:8080/;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;}

三、根据配置文件往路径下丢包

root   /opt/example/h5/dist;

在服务器的/opt/下创建新的文件夹/example,再创建项目文件夹/h5。
将代码项目build后的dist丢在里面。

总结

至此,就能通过http://172.xx.xx.xx:4161/h5访问项目资源页面。
这是一个最简单最基础的部署过程,也是我第一次在现场环境下独立完成部署的个性化项目。

如有更好的方式或是认为理解有偏差,欢迎指点!


http://chatgpt.dhexx.cn/article/ClYcuac5.shtml

相关文章

Debian配置Nginx和PHP

要求: 安装nginx软件包; 配置文件名为ispweb.conf,放置在/etc/nginx/conf.d/目录下; 网站根目录为/mut/crypt(目录不存在需创建); 启用FastCGI功能,让nginx能够解析php请求&#xff…

云服务器安装并配置nginx

初次购买完云服务器,通过 ssh 连接到远程云服务器时,如果在浏览器直接访问,会访问无效,情况如下: 所以我们需要 给云服务器安装 web 服务器。 安装nginx 用 SFTP 工具( Final Shell / Filezilla / WinSCP …

win10安装配置nginx

准备工作 去nginx.org下载nginx,我下载的是 nginx/Windows-1.10.3版本 进入页面->点击download->点击 nginx/Windows-1.10.3 安装 解压,然后启动nginx.exe 当进程中有nginx,就算是启动成功了 访问测试 浏览器访问 127.0.0.1 或者…

安装配置Nginx全分布

目录 一安装准备 1.1安装c环境 1.2下载安装包 二安装配置 2.1上传安装包到相应位置 2.2解压 2.3进入解压的Nginx目录(nginx-1.12.2) 2.4启动/关闭Nginx(要用执行root) 2.5配置负载均衡 三验证 一安装准备 1.1安装c环境 s…

docker安装配置nginx

https://hub.docker.com/search?qnginx&typeimage 一、查看docker是否安装nginx docker images二、安装nginx docker pull nginx三、运行nginx镜像 docker run --name mynginx -p 80:80 -d nginx四、查看运行结果 docker ps网页访问,浏览器输入虚拟机IP:端…

Docker配置nginx

1.Docker安装nginx 安装的命令 sudo docker search nginx docker pull nginx查看是否安装 docker images运行测试nginx docker run --name nginx-test -p 9091:80 -d nginx --name #给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器 -p #映射端口…

linux配置nginx

1、安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。 1.1 gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境&#x…

Windows本地配置Nginx

Windows本地配置Nginx 目前Nginx被广泛使用,开发自测遇到获取正确IP的需求,故研究了下nginx在Windows下的搭建。 1 安装 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔赛索耶夫为俄…

STM32开发 -- STM32初识

如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/80374650 一、STM32 32 位 MCU 系列概述 参看:STM32 微控制器 参看:维基百科 – STM32 STM32 系列 32 位闪存微控制器基于 ARM Cortex M 处理器。 它提供的 32 位产品系列,具有超高性能、实时功能…

VSCode实现STM32开发

VSCode简洁美观、功能强大、插件丰富。多用于桌面开发,或许你不知道vscode还可以用来开发嵌入式。下面就来详细介绍下实现过程 依赖的工具 STM32CUBEMX, ST官方的初始化代码生成工具Visual Studio Code, 个人认为目前最优秀的跨平台代码编辑…

STM32(一)STM32简介

大家好,今天我跟大家分享一下学习STM32的一些收获,希望对初学STM32的同学有所启示。当然,本人也是一名初学者,如果有谈论不妥之处,还望您能够批评指正,不吝赐教,本人将非常感激。如果有什么问题…

stm32 开发 简单介绍+工程创建

一,认知 1.嵌入式概念 国内定义:以应用为中心,以计算机技术(冯诺依曼)为基础,软硬件可裁剪,适用于对产品的性能、成本、可靠性有严格要求的系统被称为嵌入式系统。 2.8051和STM32 8051属于入…

stm32开发层次介绍(转载)

自STM32标准库出道以来,备受广大工程师和公司的喜爱,但是,从2013年开始,ST逐渐停止了对标准外设库的更新和维护。目前,ST全力推崇HAL库,STM32Cube就是与HAL库配合使用图形化编程官方IDE。 7.1 STM32库简介…

STM32开发

ST意法半导体生产的32位MCU(微控制器) 硬件 NB-loT通信扣板:SMA天线,NB86-G通信模块,STM32F0主控芯片,外部晶振 一键还原底板:供电电路,LED指示灯,电源开关,五…

在 keil 建立基于STM32开发的工程模板--详细步骤

手把手教你在keil建立STM32的工程模板 1 先说几句1.1 什么是STM32?1.2 什么是cortex?1.3 什么是ARM?1.4 什么是意法半导体? 2 硬件平台2.1 STM32103C8T6最小系统板2.2 电源供电2.3 时钟电路2.4 复位电路2.5 调试和下载电路 3 建立工程模板3.…

STM32开发方式及基本介绍

相关推荐STM32新建一个工程 STM32的开发有三种方式 1.寄存器版本 2.库函数版本 3.HAL库版本 一、库函数开发与寄存器开发的关系 很多人都是从学51单片机转而想进一步学习STM32,他们习惯了51单片机的寄存器开发方式,ST官方库摆在面前会不知道从何下手…

基于STM32开发板的循迹小车设计

STM32的简单应用之循迹小车 前言 智能寻迹基于自动引导机器人系统,可以实现小车自动识别路线。智能寻迹小车运用传感器、单片机、电机驱动及自动控制等技术实现,管理时自动寻迹导航。该技术已经应用于无人驾驶机动车、无人工厂、仓库、服务机器人等多种…

STM32应用开发实践教程:初识STM32

1.1.1 什么是 STM32 1.STM32 概述 STM32 微控制器是意法半导体(ST Microelectronics,ST)有限公司出品的一系列微控制 器(Micro Controller Unit,MCU)的统称。 意法半导体有限公司于 1987 年 6 月…

STM32开发指导

思考 如果我们要自己开发一个蓝牙温湿度计,硬件最小系统和外设都有什么?软件逻辑是什么? 需求分析 ● 采集类传感器使用火焰传感器、温湿度传感器、光照传感器中任意一种。 ● 黄色LED模拟智能灯,可以采集到灯状态并可远程控制;五向按键作为灯控开关(家居本地控制)。…

《嵌入式-STM32开发指南》第一部分 入门篇 -第1章 学嵌入式从STM32开始

1.1 STM32简介 ARM公司简介 ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务…