42、nginx之nginx.conf

nginx----web服务器

一、nginx

http就是apache,在国内很少。

nginx是开源的,是一款高性能,轻量级的web服务软件。

稳定性高,而且版本迭代比较快(修复bug速度比较快,安全性快)

消耗系统资源很低,http的请求并发连接,单台服务器开源支持30000-50000个并发请求。(系统资源全部分配给nginx)

单个节点的nginx一般支持20000个并发。

1.1、nginx的功能:

1、静态文件服务:静态页面,可以直接提高静态文件服务,html css jsp。处理静态页面的响应速度很快,效率很好。

2、代理:正向代理,反向代理。可以实现负载均衡,高可用和故障转移。

3、动态内容处理,nginx并不能直接处理动态请求,可以通过中间件nginx 中间件(php,tomat) mysql把动态请求转发给后端服务器。

4、支持加密的http,https

5、可以实现重定向。

6、虚拟主机,一个nginx可以配置多个域名和站点。

7、nginx自带缓存。

8、性能可以扩展。处理能力可以随时调整。

1.2、nginx的应用场景:

  1. 静态页面

  2. 转发动态请求

  3. 反向代理,负载均衡

  4. 缓存服务

1.3、编译过程中代码解释

./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \   ##支持https的加密功能ss/tls
--with-http_v2_module \   ##支持http2.0协议--with-http_realip_module \  ##支持nginx获取客户端的真实ip地址
--with-http_stub_status_module \  ##支持nginx获取访问状态信息的功能
--with-http_gzip_static_module \  ##支持页面压缩功能
--with-pcre \                   ##支持prce库
--with-stream \             ##支持4层代理的模块 
--with-stream_ssl_module \   ##支持对tcp连接的加密
--with-stream_realip_module   ##支持从代理协议中获取客户端的真实ip地址

make -j4 && make install #启动四个cpu进行

conf 配置文件目录

html 工作目录 50x.html默认的访问操作打开的页面

index.html默认的访问主页

logs 日志目录 访问和报错日志

sbin nginx的二进制启动脚本

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ #让系统识别nginx的二进制脚本

1.3.1、nginx的常用命令

nginx -t 检测nginx.conf配置文件的语法是否正确

nginx -v 显示nginx的版本

nginx -V显示版本和配置项

nignx -s 信号 stop 关闭nginx

reload 重新加载nginx,如果更改了配置文件,nginx -s reload 无需重新启动服务。

systemctl daemon-reload

二、课后重新编译安装nginx

rpm -q nginx        ##检查yum是否安装yum -y remove nginx ##有则卸载cd /opt         rz -E
rz waiting to receive.systemctl stop firewalld       ##关闭安全机制
setenforce 0yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel  ##配置编译环境useradd -M -s /sbin/nologin nginx        ##添加程序用户tar -xf nginx-1.22.0.tar.gz       ##源码解压cd /nginx-1.22.0/         ## 进入nginx的文件夹,配置暗转路径,以及相关组件./configure --prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_modulemake -j 4 && make install  ##编译和安装[root@test1 nginx-1.22.0]# cd /usr/local/
[root@test1 local]# ls
bin  etc  games  include  lib  lib64  libexec  nginx  sbin  share  srcchown -R nginx.nginx nginx/    ##更改权限[root@test1 local]# cd nginx
[root@test1 nginx]# ll
总用量 4
drwxr-xr-x. 2 nginx nginx 4096 7月   1 16:04 conf
drwxr-xr-x. 2 nginx nginx   40 7月   1 16:04 html
drwxr-xr-x. 2 nginx nginx    6 7月   1 16:04 logs
drwxr-xr-x. 2 nginx nginx   19 7月   1 16:04 sbin[root@test1 nginx]# cd conf/
[root@test1 conf]# ls
fastcgi.conf            koi-utf             nginx.conf           uwsgi_params
fastcgi.conf.default    koi-win             nginx.conf.default   uwsgi_params.default
fastcgi_params          mime.types          scgi_params          win-utf
fastcgi_params.default  mime.types.default  scgi_params.default
[root@test1 conf]# cd ..
[root@test1 nginx]# ls
conf  html  logs  sbin
[root@test1 nginx]# cd html/
[root@test1 html]# ls
50x.html  index.htmlln -s /usr/local/nginx/sbin/nginx /usr/sbin/  ##做一个软连接,让系统能够识别nginx的指令[root@test1 opt]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successfulvim /lib/systemd/system/nginx.service      ##设置系统控制,系统能对nginx这个软件的运行状态进行控制[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.targetcd /usr/local/nginx/mkdir run            ##修改nginx的配置文件,把进程文件pid文件的位置指向到设置的位置drwx------. 2 nginx root     6 7月   1 16:14 client_body_temp
drwxr-xr-x. 2 nginx nginx 4096 7月   1 16:04 conf
drwx------. 2 nginx root     6 7月   1 16:14 fastcgi_temp
drwxr-xr-x. 2 nginx nginx   40 7月   1 16:04 html
drwxr-xr-x. 2 nginx nginx   58 7月   1 16:14 logs
drwx------. 2 nginx root     6 7月   1 16:14 proxy_temp
drwxr-xr-x. 2 root  root     6 7月   1 16:24 run
drwxr-xr-x. 2 nginx nginx   19 7月   1 16:04 sbinchown nginx.nginx runcd conf/vim nginx.confpid /usr/local/nginx/run/nginx.pid;nginx -tsystemctl daemon-reloadsystemctl restart nginx

面试题:如果出现了500,怎么来排查这个错误?

1、查看日志

2、查看内部服务器的服务是否启动。

3、查看防火墙的规则配置,是否有限制。

4、查看硬件是否负载过高。

三、nginx.conf

3.1、nginx.conf

1、全局模块

worker_processes 1;--------工作进程数,设置成服务器内核数的2倍(一般不超过8个,超过8个反正会降低性能,4个,1-2个)

#user nobody;------#默认的程序用户就是nginx,这里可以保持注释无需修改

pid /usr/local/nginx/run/nginx.pid;----------#pid文件的位置;

events { worker_connections 1024;}----------#events模块,决定了ngin能够处理的连接数,连接数和worker_connections的数值相乘—1*1024。

处理进程的过程必然涉及配置文件和展示页面,也就是涉及打开文件的数量

linux默认打开的文件就是1024个

vim /etc/security/limits.conf ##进程数量更改

限制先改,进程数量才能生效,默认1024。

*soft nproc 65535----#能打开的进程最大数的软限制是65535

*hard nproc 65535----#能打开的进程最大数的硬限制是65535

*soft nofile 65535-------#软限制进程打开文件数的最大值65535

*hard nofile 65535----------#硬限制进程打开文件数的最大值65535

配置要生效,只能重启,这是系统初始化的一个环节。

在这里插入图片描述

http {
include mime.types;
default_type application/octet-stream;

#http转发和处理http请求,设置代理(正向代理,反向代理),缓存。定义日志格式,重定向配置

include mime.types;------#文件扩展名于文件类型的映射表。nginx能够打开的文件和支持的文件类型。

default_type application/octet-stream;--------------#默认支持的文件类型 。.html .htm .jsp .js .php

 #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';  #日志格式,默认的日志格式,记录了access.log,访问日志的格式,error.log也是一样的格式

#access_log logs/access.log main;-------##默认的访问日志的存放路径

sendfile on;—#支持文件发送和下载

#tcp_nopush on;–#默认就是异步非阻塞模式功能

#keepalive_timeout 0;
keepalive_timeout 65;–#连接保持时间,单位为秒/s。

#gzip on;----#gzip模块,设置是否开启页面压缩功能。

##开启web服务的模块

 server {listen       80;#nginx的默认监听端口server_name  localhost;#配置站点的域名#charset koi8-r;#网页的字符集#access_log  logs/host.access.log  main;
#网页匹配的工作目录的地址和支持的打开页面的文件类型。location /xy102(URI) {root   html(/opt/test1)(URL);
#192.168.168.10/opt/test1/xy102/index.html
#家目录。nginx工作目录的家目录,/usr/local/nginx/html
index  index.html index.htm;}

错误日志位置

tail -f /usr/local/nginx/logs/error.log

在这里插入图片描述

在这里插入图片描述

访问是缓存,清除缓存

在这里插入图片描述

#alisa也是指匹配nginx的工作目录

root 换成 alisa

在这里插入图片描述

在这里插入图片描述

alisa是绝对路径。URL/URI

3.2、root和alias的区别:

root的匹配模式 :拼接

root的工作目录,访问的是uri /xy102

location /xy102;

/opt/test1/

拼接为/opt/test1/xy102

alias匹配nginx的工作目录,路径是绝对路径

location /xy102

alias /opt/test1/xy102/;

alias只能写在http模块当中server模块的location模块里面。

root 可以写在server模块,也可以在http,也可以在location中。

alias匹配工作目录,不能使用重定向功能。

3.3、全局模块

work_processes 1:指定进程数

events:模块决定了能够处理的连接数

stream:四层代理模块

http模块

转发和处理http请求,设置代理(正向代理,反向代理),缓存。定义日志格式,重定向配置

在http模块当中,包含:

server块 http里面可以有多个server模块

在server模块当中包含:

location模块

在server当中可以有多个location。

在这里插入图片描述

实验1:#统计访问状态

Active connections:1 #当前活动的连接数

server accepts handled requests #表示已经处理的连接数

36 36 36 #三个数,从左往右,已经处理的连接数;成功建立连接的次数;已经处理的请求数

Reading:0 writing:1 Waiting:0

Reading:表示服务端正在从客户端读取请求的数据

writing:表示服务端正在把响应数据发送给客户端

Waiting:表示有连接处于空闲状态,等待新的请求。

server里写入统计访问状态

  location /status {stub_status on;#打开状态统计功能access_log off;#关闭status的访问日志;}

访问192.168.168.10/status

结果如下:

在这里插入图片描述

实验2:基于密码的授权进行访问控制

yum -y install httpd-tools #先安装工具

location / 根目录加密

vim nginx.conf

    #access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;auth_basic "secret";#开启用户密码验证auth_basic_user_file /usr/local/nginx/passwd.db;#使用指定的加密文件}yum -y install httpd-toolshtpasswd -c /usr/local/nginx/passwd.db dn
[root@test1 nginx]# chown nginx passwd.db 
[root@test1 nginx]# chmod 400 passwd.db

在这里插入图片描述

需要输入设置的用户名和对应设置的密码进行访问

实验3:基于客户端的访问控制 ip地址来进行控制

#添加控制规则

vim /usr/local/nginx/conf/nginx.confdeny 192.168.168.20;allow all;

用192.168.168.20测试结果:

在这里插入图片描述

实验4:基于域名的nginx主机

vim nginx.conf

server {listen       80;server_name  www.xy102.com;charset utf-8;access_log  logs/www.xy102.com.access.log;#access_log  logs/host.access.log  main;location / {root   /var/www/html/xy102;index  index.html index.htm;}#新增加域名访问server {listen       80;server_name  www.ly.com;charset utf-8;access_log  logs/www.ly.com.access.log;#access_log  logs/host.access.log  main;location / {root   /var/www/html/ly;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
vim /etc/hosts----本地映射192.168.168.10 www.xy102.commkdir -p /var/www/html/xy102echo "我们都爱学习" > /var/www/html/xy102/index.htmlcurl www.xy102.com
我们都爱学习192.168.168.10 www.xy102.com www.ly.com
#域名可以用同一个IP地址mkdir -p /var/www/html/lyecho "我真帅" > /var/www/html/ly/index.htmlcurl www.ly.com
我真帅

实验5:基于ip地址的虚拟主机

ifconfig ens33:0 192.168.168.100/24
[root@test1 conf]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.168.10  netmask 255.255.255.0  broadcast 192.168.168.255inet6 fe80::20c:29ff:fe1a:7434  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:1a:74:34  txqueuelen 1000  (Ethernet)RX packets 10190  bytes 895390 (874.4 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 6728  bytes 886953 (866.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.168.100  netmask 255.255.255.0  broadcast 192.168.168.255ether 00:0c:29:1a:74:34  txqueuelen 1000  (Ethernet)

多个ip地址:

 server {listen      192.168.168.10:80;server_name  www.xy102.com;charset utf-8;access_log  logs/www.xy102.com.access.log;location / {root   /var/www/html/xy102;index  index.html index.htm;}location /xy103 {alias /opt/test1/xy103;index index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}server {listen      192.168.168.100:80;server_name  www.ly.com;charset utf-8;access_log  logs/www.ly.com.access.log;#access_log  logs/host.access.log  main;location / {root   /var/www/html/ly;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

测试结果

在这里插入图片描述

实验6:基于端口实现多个虚拟主机

ifconfig ens33:0 192.168.168.100/24server {listen      192.168.168.10:80;server_name  www.xy102.com;charset utf-8;access_log  logs/www.xy102.com.access.log;location / {root   /var/www/html/xy102;index  index.html index.htm;}location /xy103 {alias /opt/test1/xy103;index index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}server {listen      192.168.168.100:80;server_name  www.ly.com;charset utf-8;access_log  logs/www.ly.com.access.log;#access_log  logs/host.access.log  main;location / {root   /var/www/html/ly;index  index.html index.htm;}​        error_page   500 502 503 504  /50x.html;
location = /50x.html {
​    root   html;
}}

在这里插入图片描述

[root@test1 nginx]# cd logs
[root@test1 logs]# ls
access.log  error.log  www.ly.com.access.log  www.xy102.com.access.log

在这里插入图片描述

实验7:多个配置文件

vim nginx.confinclude /usr/local/nginx/conf.d/*.conf--------##可以识别到conf.d下,只包含server模块的conf文件。把server单独放到一个文件当中去。不在nginx.conf文件当中。
cd /usr/local/nginxmkdir conf.dvim test1.conf

在这里插入图片描述

server {listen      8881;server_name  localhost;charset utf-8;location /test1 {root   /opt/conf;index  index.html index.htm;}
}
server {listen      8882;server_name  localhost;charset utf-8;location /test2 {root   /opt/conf;index  index.html index.htm;}}

mkdir -p /opt/conf/test1

[root@test1 conf.d]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@test1 conf.d]# mkdir -p /opt/conf/test1
[root@test1 conf.d]# echo "wozhenshuai" > /opt/conf/test1/index.html
[root@test1 conf.d]# 
[root@test1 conf.d]# mkdir -p /opt/conf/test2
[root@test1 conf.d]# echo "wozhenchou" > /opt/conf/test2/index.html
[root@test1 conf.d]# netstat -antp | grep nginx
tcp        0      0 192.168.168.10:8080     0.0.0.0:*               LISTEN      15027/nginx: master 
tcp        0      0 192.168.168.10:8081     0.0.0.0:*               LISTEN      15027/nginx: master 

在这里插入图片描述

实验8:nginx优化与防盗链:

[root@test1 conf.d]# curl -I 192.168.168.10:8881/test1/
HTTP/1.1 200 OK
Server: nginx/1.22.0
Date: Tue, 02 Jul 2024 08:27:16 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 12
Last-Modified: Tue, 02 Jul 2024 08:02:36 GMT
Connection: keep-alive
ETag: "6683b41c-c"
Accept-Ranges: bytes
[root@test1 conf]# vim nginx.confserver_tokens off;[root@test1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@test1 conf]# systemctl restart nginx
[root@test1 conf]# curl -I 192.168.168.10:8881/test1/
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 02 Jul 2024 08:31:42 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 12
Last-Modified: Tue, 02 Jul 2024 08:02:36 GMT
Connection: keep-alive
ETag: "6683b41c-c"
Accept-Ranges: bytes

在这里插入图片描述

隐藏版本号:在/usr/local/nginx/conf/nginx.conf添加server_tokens off;

基于第八个实验拓展

 cd /opt/
[root@test1 opt]# ls
aa  conf  jenkins-2.396-1.1.noarch.rpm  nginx-1.22.0  nginx-1.22.0.tar.gz  test
[root@test1 opt]# cd nginx-1.22.0/
[root@test1 nginx-1.22.0]# ls
auto     CHANGES.ru  configure  html     Makefile  objs    src
CHANGES  conf        contrib    LICENSE  man       README
[root@test1 nginx-1.22.0]# cd src/
[root@test1 src]# ls
core  event  http  mail  misc  os  stream
[root@test1 src]# cd core/
[root@test1 core]# ls[root@test1 core]# vim nginx.h#define NGINX_VERSION      "wozhenshuai"
#define NGINX_VER          "nibiecai/" NGINX_VERSION[root@test1 core]# cd ..
[root@test1 src]# cd ..
[root@test1 nginx-1.22.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module[root@test1 nginx-1.22.0]# make -j 4 && make installcd /usr/local/nginx/
[root@test1 nginx]# cd conf
[root@test1 conf]# vim nginx.confserver_tokens on;[root@test1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@test1 conf]# systemctl restart nginx[root@test1 conf]# curl -I 192.168.168.10:8881/test1/
HTTP/1.1 200 OK
Server: nibiecai/wozhenshuai
Date: Tue, 02 Jul 2024 08:49:31 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 12
Last-Modified: Tue, 02 Jul 2024 08:02:36 GMT
Connection: keep-alive
ETag: "6683b41c-c"
Accept-Ranges: bytes

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app打包小程序的一些趣事~

前言 Huilderx版本&#xff1a;4.15 uni-app Web端版本&#xff1a;3.4.21 问题1 Web端/APP端样式好好的&#xff0c;打包微信小程序就乱了咋整&#xff1f; 使用::v-deep/::deep/deep(){}都是没用滴~~ 原因&#xff1f; 解决&#xff1a; <script lang"ts"…

python小练习04

三国演义词频统计与词云图绘制 import jieba import wordcloud def analysis():txt open("三国演义.txt",r,encodingutf-8).read()words jieba.lcut(txt)#精确模式counts {}for word in words:if len(word) 1:continueelif word "诸葛亮" or word &q…

RK3568驱动指南|第十五篇 I2C-第183章 SMBus总线介绍

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

使用DelayQueue实现延迟任务

有时候&#xff0c;我们需要在当前时间点往后延迟一定时间&#xff0c;再执行任务&#xff0c;该怎么实现呢&#xff1f; 1. 延迟任务方案 延迟任务的实现方案有很多&#xff0c;常见的有四类&#xff1a; DelayQueueRedissonMQ时间轮原理JDK自带延迟队列&#xff0c;基于阻塞…

实验室必备神器:PFA气体装置,精准控制每一丝气体!

PFA气体吸收装置是一种高效的气体处理设备&#xff0c;主要用于捕获、存储和转移各种气体样本&#xff0c;特别是在需要高纯度气体的应用场合中表现出色。以下是关于PFA气体吸收装置的详细介绍&#xff1a; 一、特点与优势 1. 高效吸收&#xff1a;采用先进的物理和化学吸收技术…

01:Linux的基本命令

Linux的基本命令 1、常识1.1、Linux的隐藏文件1.2、绝对路径与相对路径 2、基本命令2.1、ls2.2、cd2.3、pwd / mkdir / mv / touch / cp / rm / cat / rmdir2.4、ln2.5、man2.6、apt-get 本教程是使用的是Ubuntu14.04版本。 1、常识 1.1、Linux的隐藏文件 在Linux中&#xf…

MATLAB将两个折线图画在一个图里

界面如图 输入行数和列数&#xff0c;点击开始填入数据&#xff0c;其中第一列为x值&#xff0c;后面几列&#xff0c;每一列都是y坐标值&#xff0c;填好后点击画在同一张图里即可。点击置零就把所有数变成0&#xff0c;另外也可以选择节点样式。 .mlapp格式的文件如下 夸克…

离线运行Llama3:本地部署终极指南

4月18日&#xff0c;Meta在官方博客官宣了Llama3&#xff0c;标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验&#xff0c;Llama3 8B效果已经超越GPT-3.5&#xff0c;最为重要的是&#xff0c;Llama3是开源的&#xff0c;我们可以自己部署&#xff01; 本文和大家…

师傅们 ~ 2024HW一手资料

各位师傅们&#xff0c;2024HW来了&#xff01; 从2026年开始&#xff0c;随着我国对网络安全的重视&#xff0c;涉及单位不断增加&#xff0c;越来越多单位和个人都加入到HW当中。 2024HW就在眼前&#xff0c; 那么还有不了解或者还没投简历面试的朋友们&#xff0c;需要注意…

有哪些手持小风扇品牌推荐?五大手持小风扇诚意推荐!

在炎炎夏日&#xff0c;一款便携且高效的手持小风扇无疑是消暑的必备神器。为了帮助大家轻松应对酷暑&#xff0c;我们精心挑选了五大手持小风扇品牌进行诚意推荐。这些品牌不仅拥有出色的降温效果&#xff0c;更在外观设计、便携性、续航能力及操作便捷性上表现卓越。接下来&a…

互联网医院系统源码解析:如何打造智能数字药店APP?

在互联网技术飞速发展的今天&#xff0c;医疗行业也在不断与之融合&#xff0c;互联网医院系统应运而生。特别是智能数字药店APP的兴起&#xff0c;使得医疗服务变得更加便捷、高效。本文将深入解析互联网医院系统源码&#xff0c;探讨如何打造一个智能的数字药店APP。 一、互…

KICAD针对线宽布线操作

如果在刚开始没有设置好布线宽度&#xff0c;KiCad Pcbnew 在布好线后经常会需要修改布线宽度。 下面有几种常用的修改多端线宽的方法 1、快捷键修改整个网络的线宽。 按 I 键选中整条网络&#xff0c;再按 E 键&#xff0c;即可修改整网络的线宽。 2、修改多条线的…

仿论坛项目--初识Spring Boot

1. 技术准备 技术架构 • Spring Boot • Spring、Spring MVC、MyBatis • Redis、Kafka、Elasticsearch • Spring Security、Spring Actuator 开发环境 • 构建工具&#xff1a;Apache Maven • 集成开发工具&#xff1a;IntelliJ IDEA • 数据库&#xff1a;MySQL、Redi…

厉害了,Pinokio!所有AI工具,一键安装,全部免费!整合AI绘画、AI视频、AI语音...

大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~ 去年夏天&#xff0c;写了一篇在 Mac 上部署 Stable Diffusio…

友好前端vue脚手架

企业级后台集成方案vue-element-admin-CSDN博客在哔站学习&#xff0c;老师说可以有直接的脚手架&#xff08;vue-element-admin&#xff09;立马去搜索&#xff0c;找到了这博主这篇文章 介绍 | vue-element-admin​​​​​​ 官方默认英文版&#xff1a; git clone https:/…

红队工具Finger 安装具体以步骤-示例centos

1.git clone https://github.com/EASY233/Finger.git 如果没有 yum install git 2.pip3 install -r requirements.txt 找到finger所在的文件夹 可以用find -name "Finger"进入文件中配置命令 前提要安装python yum install python-pip33.python3 Finger.py -h

使用Spring Boot实现博客管理系统

文章目录 引言第一章 Spring Boot概述1.1 什么是Spring Boot1.2 Spring Boot的主要特性 第二章 项目初始化第三章 用户管理模块3.1 创建用户实体类3.2 创建用户Repository接口3.3 实现用户Service类3.4 创建用户Controller类 第四章 博客文章管理模块4.1 创建博客文章实体类4.2…

类和对象(提高)

类和对象&#xff08;提高&#xff09; 1、定义一个类 关键字class 6 class Data1 7 { 8 //类中 默认为私有 9 private: 10 int a;//不要给类中成员 初始化 11 protected://保护 12 int b; 13 public://公共 14 int c; 15 //在类的内部 不存在权限之分 16 void showData(void)…

德国Testing Expo丨知迪科技Vehicle Bus Tool免费软件“剧透”抢先看!

今日&#xff0c;德国斯图加特汽车测试及质量监控展览会&#xff08;Automotive Testing Expo&#xff09;在斯图加特会展中心正式开幕。作为汽车测试领域专业性最强、影响力最广泛的展会之一&#xff0c;展会首日盛况空前&#xff0c;面向组件和整车的最新测试、开发和验证技术…

观测云赋能「阿里云飞天企业版」,打造全方位监控观测解决方案

近日&#xff0c;观测云成功通过了「阿里云飞天企业版」的生态集成认证测试&#xff0c;并荣获阿里云颁发的产品生态集成认证证书。作为监控观测领域的领军者&#xff0c;观测云一直专注于提供统一的数据视角&#xff0c;助力用户构建起全球范围内的端到端全链路可观测服务。此…