【指令集】Nginx
本文作者: slience_me
【指令集】Nginx
1. 目录结构
Nginx 的基础目录结构通常包括以下几个主要目录:
Nginx的目录结构大致如下(以Linux系统为例):
/etc/nginx/ # Nginx的配置文件目录
├── nginx.conf # 主配置文件
├── conf.d/ # 包含额外配置文件的目录
│ └── default.conf # 默认虚拟主机配置文件
├── sites-available/ # 存放可用站点的配置文件(某些系统上可能没有此目录)
├── sites-enabled/ # 启用的站点配置文件(某些系统上可能没有此目录)
├── mime.types # MIME类型配置文件
├── fastcgi_params # FastCGI参数配置
├── uwsgi_params # uWSGI参数配置
└── scgi_params # SCGI参数配置/usr/local/nginx/ # Nginx的默认安装目录
├── sbin/ # 可执行文件目录(包含nginx二进制文件)
│ └── nginx # Nginx主程序
├── html/ # 默认的网页根目录
│ └── index.html # 默认的欢迎页面
├── logs/ # 日志目录
│ ├── access.log # 访问日志
│ └── error.log # 错误日志
└── conf/ # 配置文件目录(有时可以与/etc/nginx合并)
主要目录和文件:
/etc/nginx/nginx.conf
:主配置文件,控制Nginx的全局设置。/etc/nginx/conf.d/
:通常存放额外的虚拟主机配置文件,可以分配单独的文件来管理不同站点的配置。/etc/nginx/sites-available/
和/etc/nginx/sites-enabled/
:用于存储和启用站点的配置文件,常见于Ubuntu/Debian系统。sites-available
存放所有配置文件,而sites-enabled
存放实际启用的配置链接。/usr/local/nginx/html/
:默认的网页文件目录,可以存放网站的静态文件,如HTML、CSS和JavaScript等。/usr/local/nginx/logs/
:存放Nginx的日志文件,通常包括访问日志和错误日志。
你可以根据自己的实际需求定制这些目录和配置文件。
2. 系统级安装【Ubuntu】
2.1 更新系统包索引
sudo apt update
2.2 安装 Nginx
sudo apt install nginx
安装完成后,Nginx 会自动启动。如果没有启动,可以手动启动它:
sudo systemctl start nginx
检查 Nginx 的状态:
sudo systemctl status nginx
2.3 查找 Nginx 配置文件
Nginx 配置文件通常位于以下几个位置:
- 主配置文件:
/etc/nginx/nginx.conf
- 默认虚拟主机配置:
/etc/nginx/sites-available/default
- 虚拟主机配置目录:
/etc/nginx/sites-available/
和/etc/nginx/sites-enabled/
- 日志文件:
- 访问日志:
/var/log/nginx/access.log
- 错误日志:
/var/log/nginx/error.log
- 访问日志:
查看主配置文件:
sudo nano /etc/nginx/nginx.conf
查看虚拟主机配置:
sudo nano /etc/nginx/sites-available/default
如果你有多个网站需要配置,可以创建新的配置文件,并通过符号链接激活它:
sudo ln -s /etc/nginx/sites-available/your-site.conf /etc/nginx/sites-enabled/
2.4 测试配置文件的语法
每次修改配置文件后,先检查 Nginx 配置文件的语法是否正确:
sudo nginx -t
如果没有错误,输出应该是:
nginx: configuration file /etc/nginx/nginx.conf test is successful
2.5 重新加载 Nginx 配置
在确认配置文件没有语法错误后,重新加载 Nginx,使配置生效:
sudo systemctl reload nginx
2.6 常见配置修改
- 设置服务器根目录:
server {listen 80;server_name example.com;root /var/www/html;index index.html;location / {try_files $uri $uri/ =404;}
}
- 修改监听端口:
server {listen 8080;server_name example.com;root /var/www/html;
}
- 配置反向代理:
server {listen 80;server_name example.com;location / {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}
2.7 设置防火墙允许 HTTP 和 HTTPS 流量
如果你正在使用 ufw
防火墙,确保允许 HTTP 和 HTTPS 流量:
sudo ufw allow 'Nginx Full'
2.8 检查 Nginx 是否正常运行
通过浏览器访问服务器的 IP 地址或域名,应该能看到 Nginx 默认的欢迎页面:
http://your_server_ip
如果看到页面,说明 Nginx 正常运行。
3. 个性化
要自定义不同站点的配置文件路径,并将其放在用户目录或根目录下(例如 /mysite/
),而不是直接操作 /etc/nginx/
或 /usr/local/nginx/
,你可以通过以下步骤来实现:
3.1 修改 Nginx 配置文件
你需要调整 Nginx 主配置文件 nginx.conf
来指定新的配置文件路径。具体来说,在 http
块中使用 include
指令来加载你的自定义路径下的配置文件。
假设你希望将站点配置文件存放在 /mysite/nginx-sites/
,那么在 nginx.conf
中添加如下内容:
http {...include /mysite/nginx-sites/*.conf;...
}
这会告诉 Nginx 在启动时加载 /mysite/nginx-sites/
目录下所有 .conf
后缀的配置文件。
3.2 创建并管理自定义站点配置
在 /mysite/nginx-sites/
目录下创建每个站点的配置文件。例如:
/mysite/nginx-sites/
├── site1.conf
├── site2.conf
└── site3.conf
每个 .conf
文件中可以包含你要为特定站点设置的 Nginx 配置,比如 server
块和其他必要的指令。
例如,site1.conf
可能是这样的:
server {listen 80;server_name www.site1.com;root /mysite/www/site1;location / {try_files $uri $uri/ =404;}
}
3.3 设置权限(可选)
确保 /mysite/nginx-sites/
目录及其中的配置文件有适当的权限,以确保 Nginx 进程能够读取它们。例如:
sudo chown -R nginx:nginx /mysite/nginx-sites/
sudo chmod -R 755 /mysite/nginx-sites/
3.4 配置文件组织(可选)
你可以进一步组织你的配置文件,如使用 sites-available
和 sites-enabled
目录结构:
/mysite/nginx-sites/
├── sites-available/
│ ├── site1.conf
│ └── site2.conf
└── sites-enabled/├── site1.conf -> ../sites-available/site1.conf└── site2.conf -> ../sites-available/site2.conf
然后在 nginx.conf
中改为加载 sites-enabled
目录中的配置:
http {...include /mysite/nginx-sites/sites-enabled/*.conf;...
}
这种方式与传统的 /etc/nginx/sites-available/
和 /etc/nginx/sites-enabled/
方法类似。
3.5 重启 Nginx 使配置生效
完成修改后,记得重新加载或重启 Nginx:
sudo nginx -t # 检查配置是否有误
sudo systemctl reload nginx # 重新加载配置
4. 用户级安装
如果你没有系统级安装 Nginx 的权限,但仍然希望在用户目录中运行自定义的 Nginx 实例,你可以通过以下步骤来实现:
4.1 在用户目录安装 Nginx
首先,你可以在用户目录下手动下载并编译 Nginx,确保你有权限在自己的用户目录中进行安装和配置。
步骤:
-
下载 Nginx 源代码:
wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0
-
编译并安装到用户目录: 你可以指定安装路径为你的用户目录(例如
~/nginx
):./configure --prefix=$HOME/nginx make make install
-
安装完成后,你将在
~/nginx/
目录下找到所有相关的文件和目录。此时,你可以直接在~/nginx/
下运行 Nginx,而无需系统级的权限。
4.2 配置 Nginx 使用自定义的站点路径
假设你已经在 ~/nginx
目录下安装了 Nginx,现在你可以按照自定义路径来配置你的站点。
修改 Nginx 配置文件:
Nginx 的配置文件通常位于 ~/nginx/conf/nginx.conf
。你可以打开这个文件,并根据你的需求进行修改:
-
修改站点配置路径:例如,将站点配置文件放在
~/mysite/nginx-sites/
目录下,并在nginx.conf
中使用include
指令来加载它们:http {...include ~/mysite/nginx-sites/*.conf;... }
-
配置站点文件:在
~/mysite/nginx-sites/
目录下创建站点配置文件。例如,site1.conf
:server {listen 80;server_name www.site1.com;root ~/mysite/www/site1;location / {try_files $uri $uri/ =404;} }
-
确保站点根目录存在并配置好,比如
~/mysite/www/site1
目录。
4.3 启动 Nginx
由于你没有系统级的权限,使用自定义安装的 Nginx 来启动和管理 Nginx 服务:
-
启动 Nginx:
~/nginx/sbin/nginx
-
检查 Nginx 状态: 你可以使用
ps
或top
来确认 Nginx 是否正在运行:ps aux | grep nginx
-
停止 Nginx: 如果需要停止 Nginx,可以使用以下命令:
~/nginx/sbin/nginx -s stop
-
重新加载配置: 如果修改了配置文件,需要重新加载 Nginx:
~/nginx/sbin/nginx -s reload
4.4 权限设置
由于你没有系统级权限,确保所有相关目录(如 ~/nginx
, ~/mysite
等)的权限正确,并且你有访问和写入的权限。
5. 部署 Vue 项目
将 Vue 项目部署到 Nginx 时,通常需要将其构建为静态文件,并配置 Nginx 提供这些文件。以下是部署步骤:
5.1 配置 Nginx
假设 Vue 项目的构建文件位于 /var/www/vue_project/dist
目录。
- 打开 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/vue_project
- 编辑配置文件,设置 Nginx 提供静态文件:
server {listen 8080; # 监听 8080 端口server_name example.com; # 配置你的域名,或者使用 IP 或 localhostroot /var/www/vue_project/dist; # Vue 项目构建文件所在目录index index.html; # 默认首页location / {try_files $uri $uri/ /index.html; # 支持 Vue 的 SPA 路由}# 如果有后端 API,需要配置反向代理location /api {proxy_pass http://localhost:3000; # 反向代理到后端 APIproxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 禁止访问某些文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) {return 404;}
}
listen 8080;
:指定 Nginx 监听 8080 端口。root /var/www/vue_project/dist;
:指定 Vue 项目的构建目录。try_files $uri $uri/ /index.html;
:支持 Vue 项目的前端路由,将所有请求重定向到index.html
,让 Vue Router 处理路由。
5.2 启用配置
创建符号链接并启用新配置:
sudo ln -s /etc/nginx/sites-available/vue_project /etc/nginx/sites-enabled/
5.3 检查配置并重启 Nginx
确保 Nginx 配置正确:
sudo nginx -t # syntax is okay | test is successful
重启 Nginx:
sudo systemctl reload nginx
5.4 访问应用
现在可以在浏览器中访问 http://your_server_ip:8080
,查看 Vue 应用。
5.5 配置防火墙
如果使用防火墙,确保允许访问 8080 端口:
sudo ufw allow 8080
5.6 配置 HTTPS(使用 443 端口)
如果需要配置 HTTPS,建议使用 Let’s Encrypt 提供免费的 SSL 证书,并通过 certbot
自动配置:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx
相关文章:
【指令集】Nginx
本文作者: slience_me 【指令集】Nginx 1. 目录结构 Nginx 的基础目录结构通常包括以下几个主要目录: Nginx的目录结构大致如下(以Linux系统为例): /etc/nginx/ # Nginx的配置文件目录 ├── ngin…...
蓝耘云智算|使用 Deepseek R1 模型优化 BERT 在 NLP 任务中的表现
在自然语言处理(NLP)领域,BERT(Bidirectional Encoder Representations from Transformers)已成为许多文本分类任务的基准模型。然而,随着新模型的出现和技术的不断进步,BERT在某些情况下可能不…...
LINUX常用命令学习
查看系统版本 使用hostnamectl命令检查。hostnamectl显示了CentOS的版本以及操作系统的相关信息,非常方便 设置linux机器别名称 hostnamectl set-hostname 机器别名 --static 华为云 centos 命令:lsb_release -a linux:cat /proc/version 查看进程路…...
【java面向对象的三大特性】封装、继承和多态
目录标题 一、封装(Encapsulation):二、继承(Inheritance):三、多态(Polymorphism):1. 多态的三个必要条件:2.多态的具体实现:3.多态的使用场景&a…...
【开源免费】基于SpringBoot+Vue.JS校园商铺管理系统(JAVA毕业设计)
本文项目编号 T 191 ,文末自助获取源码 \color{red}{T191,文末自助获取源码} T191,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
日常故障排查 - Java程序故障排查
Java程序故障 无论对于任何的故障而言,恢复可用性都是首要目标。但作为一个技术匠人,不能让同一个问题导致多次故障,因此故障的根因剖析以及解决也是很重要的。但是故障根因剖析是需要现场数据来进行分析,因此在故障恢复之前要尽…...
ai数字人分身系统开发源码saas化
#数字人分身系统# #数字人系统源码# #ai数字人123 123# 云罗抖去推数字人分身系统是一款融合了形象克隆、声音克隆、AI数字人分身、AI智能剪辑、智能文案等各种AI技术一体化的短视频营销工具,其核心功能优势主要体现在以下几方面: 真实度高…...
DeepSeek免费部署到WPS或Office
部署到WPS - 通过OfficeAI插件接入: - 准备工作:安装最新版本的WPS Office软件;访问DeepSeek官网,点击右上角的“API开放平台”,登录账号(若无账号需先注册),登录成功后,…...
vue2和vue3插槽slot最通俗易懂的区别理解
在 Vue 的组件通信中,slot(插槽)的编译优化是一个重要的性能提升点。以下是 Vue2 和 Vue3 在 slot 处理上的差异及优化原理,用更直观的方式解释: Vue2 的 Slot 更新机制 想象一个父子组件场景: 父组件&am…...
生成式人工智能:技术革命与应用图景
(这文章有些地方看不懂很正常,因为有太多生词,需要对 计算机/人工智能 研究至深的人才能看懂,遇到不会的地方用浏览器搜索或跳过) 引言 2023年被称我们为"生成式AI元年",以GPT-4、DALL-E 3、Stable Diffusi…...
关于Dest1ny:我的创作纪念日
Dest1ny 因为这是csdn任务,我就稍微“写”了一下! 如果大家真的有什么想聊的或者想一起学习的,欢迎在评论区或者私信中与我讨论! 2025想说的话 我就把我想说的写在前面! 不用对未来焦虑,不要觉得自己走…...
AI学习记录 - 最简单的专家模型 MOE
代码 import torch import torch.nn as nn import torch.nn.functional as F from typing import Tupleclass BasicExpert(nn.Module):# 一个 Expert 可以是一个最简单的, linear 层即可# 也可以是 MLP 层# 也可以是 更复杂的 MLP 层(active function 设…...
【C++内存管理】—— 策略、陷阱及应对之道
欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创…...
分布式版本控制系统---git
Git:从基础到进阶的全面指南 Git 是一个分布式版本控制系统,广泛应用于软件开发中,用于跟踪文件的更改、支持团队协作以及管理项目代码。通过 Git,开发者可以在本地拥有完整的项目历史记录,进行离线开发,并…...
pg_sql关于时间的函数
1、时间戳和日期之间的相互转换 时间戳转日期(时间戳为数值类型,若为字符型需进行转换) # 保留到秒:2025-10-02 04:46:40 (字符型转换数值型) select to_timestamp(1759351600::bigint)# 保留到日&#x…...
【Kafka】Windows下安装Kafka(全面)
目录 1.前提条件 2.下载 3.安装 4.环境变量配置 5.验证 1.前提条件 参考版本:zookeeper为3.6.4 kafka版本为3.5.1 1.先安装zookeeper: 【Zookeeper】Windows下安装Zookeeper(全面)-CSDN博客https://blog.csdn.net/…...
【Qt】:概述(下载安装、认识 QT Creator)
🌈 个人主页:Zfox_ 🔥 系列专栏:Qt 目录 一:🔥 介绍 🦋 什么是 QT🦋 QT 发展史🦋 Qt版本🦋 QT 优点 一:🔥 搭建Qt开发环境 ǹ…...
Netty源码解析之异步处理(二):盛赞Promise中的集合设计
前言 在阅读Netty源码的过程中,我越来越相信一句话:“Netty的源码非常好,质量极高,是Java中质量最高的开源项目之一”。如果认真研究,会有一种遍地黄金的感觉。 本篇文件我将记录一下鄙人在Promise的实现类DefaultPr…...
Spring Boot 的约定优于配置,你的理解是什么?
“约定优于配置” 是 Spring Boot 极为重要的设计理念,它极大地简化了 Spring 应用的开发流程,下面从多个方面详细解释这一理念: 减少配置复杂性 传统开发的痛点 在传统的 Spring 开发里,配置工作相当繁琐。以配置 Spring MVC …...
图形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan简介
1.Skia —— 2D 图形库 Skia 是一个 2D 图形库,它的作用是为开发者提供一个高层次的绘图接口,方便他们进行 2D 图形渲染(比如绘制文本、形状、图像等)。Skia 本身不直接管理 GPU 或进行底层的渲染工作,而是通过 底层图…...
git使用,注意空格
第一节 安装完成后,找个目录用于存储,打开目录右击选择git bash here 命令1 姓名 回车 git config --global user.name "li" 命令2 邮箱 回车 git config --global user.email "888163.com" 命令3 初始化新仓库,下载克隆 回…...
以用户为中心,汽车 HMI 界面设计的创新之道
在汽车智能化飞速发展的当下,汽车 HMI(人机交互界面)成为连接人与车的关键桥梁。如何打造出优秀的 HMI 界面?答案是以用户为中心,探索创新之道。 用户需求是汽车 HMI 界面设计的指南针。在设计前期,深入调…...
CentOS安装Docker,Ubuntu安装Docker,Docker解决方案
文章目录 CentOS7安装DockerUbuntu修改Docker镜像源docker设置容器自动启动启动时加--restartalways如果已经过运行的项目docker compose设置容器自启动 docker file修改时区docker在容器执行命令简单粗暴的办法安装curl docker compose命令安装docker compose Docker WEB 图形…...
c#中“事件-event”的经典示例与理解
在C#编程语言中,事件(Event)是一个非常重要的概念,它提供了一种松耦合的方式,让对象间能够通知彼此,而无需直接联系。事件的使用可以让我们的代码更加灵活、可扩展且易于维护。 事件可以视作委托的实例&…...
git bash在github的库中上传或更新本地文件
一、将本地文件上传到 GitHub 仓库 1. 创建 GitHub 仓库 如果你还没有在 GitHub 上创建仓库,首先需要创建一个新的仓库: 登录到 GitHub。点击右上角的 按钮,选择 New repository。给你的仓库起个名字,并选择 Public 或 Privat…...
【编程实践】vscode+pyside6环境部署
1 PySide6简介 PySide6是Qt for Python的官方版本,支持Qt6,提供Python访问Qt框架的接口。优点包括官方支持、LGPL许可,便于商业应用,与Qt6同步更新,支持最新特性。缺点是相比PyQt5,社区资源较少。未来发展…...
vue 文件下载(导出)excel的方法
目前有一个到处功能的需求,这是我用过DeepSeek生成的导出(下载)excel的一个方法。 1.excel的文件名是后端生成的,放在了响应头那里。 2.这里也可以自己制定文件名。 3.axios用的是原生的axios,不要用处理过的ÿ…...
服务器延迟给视频网站造成的影响
在数字化时代中,网络视频已经成为人们日常娱乐和获取信息的重要平台,网络视频的流畅性会影响着用户的体验度,那么,当服务器出现延迟会对视频网站造成哪些影响呢?本文就来共同了解一下吧! 当所使用的服务器由…...
django上传文件
1、settings.py配置 # 静态文件配置 STATIC_URL /static/ STATICFILES_DIRS [BASE_DIR /static, ]上传文件 # 定义一个视图函数,该函数接收一个 request 参数 from django.shortcuts import render # 必备引入 import json from django.views.decorators.http i…...
Mysql数据库
一.数据定义语言DDL 一.概述 DDL用于定义和管理数据库的结构 DDL关键字:1.CREATE; 2.ALTER; 3.DROP 二.SQL命名规定和规范 1.标识符命名规则 2.标识符命名规范 三.库管理 1. CREATE DATABASE 数据库名; 2. CREATE DATABASE IF NOT EXISTS 数据库名; 3. CREATE…...
机器学习 - 大数定律、可能近似正确学习理论
一、大数定律: 大数定律是概率论中的一个基本定理,其核心思想是:当独立重复的随机试验次数足够大时,样本的平均值会趋近于该随机变量的期望值。下面从直观和数学两个角度来说明这一概念: 1. 直观理解 重复试验的稳定…...
Kotlin 2.1.0 入门教程(十七)接口
接口 接口可以包含抽象方法的声明,也可以包含方法的实现。 接口与抽象类的不同之处在于,接口无法存储状态。接口可以拥有属性,但这些属性要么必须是抽象的,要么就得提供访问器的实现。 接口使用 interface 关键字来定义&#x…...
USB Flash闪存驱动器安全分析(第一部分)
翻译原文链接:Hacking Some More Secure USB Flash Drives (Part I) | SySS Tech Blog 文章翻译总结:文章对一些具有AES硬件加密的USB闪存驱动器的网络安全分析研究。研究由SySS的IT安全专家Matthias Deeg进行,他在2022年初发现了几个安全漏…...
报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant
与 TEN 相聚在「LET’S VISION 2025」大会,欢迎来展位上跟我们交流。这次我们还准备了一场聚焦「computer use」的工作坊,功能新鲜上线,线下首波体验! 📅 TEN 展位:2025年3月1日-2日 TEN workshop&#x…...
常用架构图:业务架构、产品架构、系统架构、数据架构、技术架构、应用架构、功能架构及信息架构
文章目录 引言常见的架构图I 业务架构图-案例模块功能说明1. 用户界面层 (UI)2. 应用服务层3. 数据管理层4. 基础设施层业务流程图示例技术实现II 功能架构图 -案例功能模块说明1. 船舶监控模块2. 报警管理模块3. 应急响应模块4. 通信管理模块5. 数据分析模块数据管理层基础设施…...
微信小程序的制作
制作微信小程序的过程大致可以分为几个步骤:从环境搭建、项目创建,到开发、调试和发布。下面我会为你简要介绍每个步骤。 1. 准备工作 在开始开发微信小程序之前,你需要确保你已经完成了以下几个步骤: 注册微信小程序账号&…...
C# 特性 学习记录
在C#中,特性(Attribute)是一种用于向代码元素(如类、方法、属性等)添加元数据的机制。特性本身不会直接影响代码的执行,但它们可以提供额外的信息,这些信息可以在运行时通过反射(Ref…...
DBeaver clickhouse 时区不对 时间少了8小时
选择DataBase选择Driver Manager选择clickhouse数据库点中之后,选择编辑添加两个全局属性 use_server_time_zone use_time_zone 鼠标移动到User Properties上,右键即可添加一列空白 然后断开重连...
如何测试和验证CVE-2024-1430:Netgear R7000 路由器信息泄露漏洞分析
CVE-2024-1430 是一个影响 Netgear R7000 路由器的安全漏洞,漏洞来源于该路由器 Web 管理界面的信息泄露问题。攻击者通过访问 /currentsetting.htm 文件,可能泄露敏感信息,如 Wi-Fi 密码等。 在测试和验证 CVE-2024-1430 时,您需…...
Express 中间件是什么
在 Express 里,中间件是具备访问请求对象(req)、响应对象(res)以及应用程序请求-响应循环中的下一个中间件函数(一般用next表示)的函数。 一、中间件的定义与调用顺序 在 Express 应用中&…...
【做一个微信小程序】校园地图页面实现
前言 上一个教程我们实现了小程序的一些的功能,有背景渐变色,发布功能有的呢,已支持图片上传功能,表情和投票功能开发中(请期待)。下面是一个更高级的微信小程序实现,包含以下功能:…...
(萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念
目录 前言与导论 碎碎念 所以,我到底需要知道哪些东西呢 从一些基础的概念入手 常见的工具和说法 ST公司 MDK5 (Keil5) CubeMX 如何使用MDK5的一些常用功能 MDK5的一些常见的设置 前言与导论 非常感谢2301_77816627-CSDN博客的提问,他非常好奇…...
java nio 原理 非阻塞IO Netty
一、为什么必须去了解NIO 首先你需要之后Netty的主要实现手段就是Nio,很多人一直学不明白Netty,根本原因是 除了日常开发中很难能够实践,很大一部分原因是不熟悉NIO,事实上真正熟悉了NIO和它背后的原理之后,去查看Netty的源码就有…...
【ClickHouse】Ubuntu下离线安装ClickHouse数据库并使用DBeaver连接
目录 0. 安装前准备1 安装ClickHouse1.1 下载安装包1.2 离线安装1.3 配置密码1.4 启动ClickHouse服务 2 DBeaver连接配置2.1 下载ClickHouse驱动2.2 DBeaver配置2.2.1 配置主要参数2.2.2 配置驱动 2.3 常见问题处理2.3.1 修改远程登录配置2.3.2 更新驱动配置 0. 安装前准备 有…...
vue2打包带路径的项目,刷新404问题解决
问题描述 Vue 2 项目打包时设置了 publicPath: /web/,并通过 Nginx 配置访问 http://ip/web 时可以正常加载首页,但刷新页面时出现 404 错误 原nginx的配置 location /web {alias /www/dist; # 静态文件地址try_files $uri $uri/ /index.html;index i…...
【计算机视觉】文本识别
计算机视觉,广义的文本识别是指对输入的图像进行分析处理,识别出图像中的文字信息,这里的图像可以使传统的文档图像,也可以是现实世界中的场景图像。 简介 无论是传统方法还是基于深度深度学习的方法,完整的文本识别…...
Vue和React的区别
组件开发方式: Vue 使用单文件组件(SFC), HTML, JS 和 CSS 在一个文件内实现 <template><div class"my-component"><!-- HTML模板 --></div> </template><script> export default {// JavaScr…...
STM32 是什么?同类产品有哪些
STM32 是什么? STM32 是由意法半导体(STMicroelectronics)推出的基于 ARM Cortex-M 内核 的 32 位微控制器(MCU)系列。它专为高性能、低功耗的嵌入式应用设计,广泛应用于以下领域: 工业控制&am…...
Git学习使用笔记
目录 一、基本介绍 1.1 版本控制 1.2 版本控制软件的基础功能 1.3 多人协作开发/集中式版本控制 1.4 分布式版本控制 二、Git安装 2.1下载git 2.2 使用Github Desktop软件 2.2.1 创建本地仓库 2.2.2 删除本地仓库 2.2.3 仓库文件操作 2.2.4 多人协作 2.2.4.1 分…...
Bash 中的运算方式
目录 概述: 1. (()) 运算符 2. let 命令 3. expr 命令 4. $[] 直接运算 5. bc(计算器,支持浮点数) 6. awk(强大的文本处理工具,也可计算) 概述: Bash 本身只支持整数运算&am…...