Linux 使用Nginx搭建简易网站模块

news2025/4/16 6:31:03

 网站需求:

 一、基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab
​ 二、给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料
​ [www.openlab.com/money网站访问缴费网站](http://www.openlab.com/money网站访问缴费网站)。
​ 三、(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
​        (2)访问缴费网站实现数据加密基于https访问

服务端工作:

1.关闭防火墙,selinux调整至宽容模式,安装nginx并设置开机自启

[root@node1-server ~]# setenforce 0

[root@node1-server ~]# getenforce
Permissive

[root@node1-server ~]# systemctl stop firewalld # 已做,省略

[root@node1-server ~]# systemctl disable firewalld # 已做,省略

[root@node1-server ~]# systemctl status firewalld

[root@node1-server ~]# yum install nginx -y

[root@node1-server ~]# nginx -V # 查看版本

[root@node1-server ~]# systemctl start nginx

[root@node1-server ~]# systemctl enable nginx

[root@node1-server ~]# systemctl status nginx

一、基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab

1.进入 /etc/nginx/nginx.conf 主配置文件并找到定义网站文件的根目录

[root@node1-server ~]# vim /etc/nginx/nginx.conf

 41         server_name  www.openlab.com;   # 定义当前服务器块对应的域名
 42         root         /usr/share/nginx/html;  # 定义网站文件的根目录,Nginx 会从该目录读取网页文件

2.进入定义网站文件的根目录cd /usr/share/nginx/html/

[root@node1-server ~]# cd /usr/share/nginx/html/  # Nginx 会从该目录读取网页文件

[root@node1-server html]# ll
total 12
-rw-r--r--. 1 root root 3971 Feb 13 20:22 404.html
-rw-r--r--. 1 root root 4020 Feb 13 20:22 50x.html
drwxr-xr-x. 2 root root   27 Apr 11 10:13 icons
lrwxrwxrwx. 1 root root   25 Feb 13 20:23 index.html -> ../../testpage/index.html
-rw-r--r--. 1 root root  368 Feb 13 20:22 nginx-logo.png
lrwxrwxrwx. 1 root root   14 Feb 13 20:23 poweredby.png -> nginx-logo.png
lrwxrwxrwx. 1 root root   37 Feb 13 20:23 system_noindex_logo.png -> ../../pixmaps/system-noindex-logo.png

3.将原初始网页文件备份

[root@node1-server html]# cp index.html index.html.bak

4.将新内容写入 /usr/share/nginx/html/index.html 文件中

[root@node1-server html]# echo "Welcome to Openlab!!!" > index.html
echo "Welcome to Openlabll!" > index.html

[root@node1-server html]# nginx -t # 检查配置文件的语法错误,无错返回ok
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@node1-server html]# cat index.html
Welcome to Openlabll!

  • nginx # 启动nginx
  • nginx restart # 重启服务
  • nginx -s reload # 重新加载配置文件
  • nginx -s stop # 强行停止服务
  • nginx -s quit # 优雅停止服务,即所有请求处理完后退出服务
  • nginx -v # 查看版本号
  • nginx -t # 检查配置文件的语法错误,无错返回ok

5.向Windows中C:\Windows\System32\drivers\etc\hosts文件中写入域名,重启nginx并测试

192.168.11.135   www.openlab.com # 此处文件不能保存为文本文档(文件后缀为.txt)!

[root@node1-server html]# systemctl restart nginx.service

# 浏览器直接访问 http://www.openlab.com 

二、给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料
​ [www.openlab.com/money网站访问缴费网站](http://www.openlab.com/money网站访问缴费网站)。

1.创建三个子界面分别显示学生信息,教学资料和缴费网站

[root@node1-server ~]# mkdir /www

[root@node1-server ~]# cd /www

[root@node1-server www]# mkdir data student money

[root@node1-server www]# ls
data  money  student

[root@node1-server www]# touch data/index.html

[root@node1-server www]# touch student/index.html

[root@node1-server www]# touch money/index.html

[root@node1-server www]# echo "Teaching materials" > data/index.html

[root@node1-server www]# echo "Student Information" > student/index.html

[root@node1-server www]# echo "Payment Website" > money/index.html

[root@node1-server www]# cat data/index.html
Teaching materials

[root@node1-server www]# cat student/index.html
Student Information

[root@node1-server www]# cat money/index.html
Payment Website

2./etc/nginx/nginx.conf文件中增添子网页内容

[root@node1-server ~]# vim /etc/nginx/nginx.conf

 38     server {
 
39         listen       80;  # 监听 IPv4 地址的 80 端口
 40         listen       [::]:80;  # 监听 IPv6 地址的 80 端口([::] 表示所有 IPv6 地址)
 41         server_name  www.openlab.com;  # 定义当前服务器块对应的域名
 42         root         /usr/share/nginx/html;
 
43         location /data {
 
44                         alias /www/data/;  # 将 URL 路径 /data/ 映射到本地目录 /www/data/
 45                         index index.html index.htm;  # 定义该目录的默认索引文件(访问目录时优先查找的文件)
 46                         }
 
47         location /student {
 
48                         alias /www/student/;  # 将 URL 路径 /student/ 映射到本地目录 /www/student/
 49                         index index.html index.htm;
 
50                         }
 
51         location /money {
 
52                         alias /www/money/;  # 将 URL 路径 /money/ 映射到本地目录 /www/money/
 53                         index index.html index.htm;
 54                         }

3.测试语法是否有误,无误则重启nginx服务

[root@node1-server ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@node1-server ~]# systemctl restart nginx.service

4.Windows测试

​ 三、(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。

1.安装httpd-tools,创建song、tian两位用户

[root@node1-server ~]# yum install httpd-tools -y

[root@node1-server ~]# cd /www

[root@node1-server www]# htpasswd -c .stupasswd song  # 创建一个名为 .stupasswd 的密码文件,并在其中添加一个名为 song 的用户,同时为该用户设置登录密码(通过交互式输入),常用于 HTTP 基本认证(如 Nginx、Apache 服务器的权限控制),确保只有授权用户能访问特定资源。
New password:  # 123,此处隐藏
Re-type new password:  # 123,此处隐藏
Adding password for user song

[root@node1-server www]# htpasswd -b .stupasswd tian 123  # 向名为 .stupasswd 的密码文件中添加一个名为 tian 的用户,并设置其密码为 123,无需手动输入密码,直接在命令中指定
Adding password for user tian

[root@node1-server www]# ll -a
total 4
drwxr-xr-x.  5 root root  64 Apr 11 17:21 .
dr-xr-xr-x. 20 root root 257 Apr 11 15:28 ..
drwxr-xr-x.  2 root root  24 Apr 11 15:31 data
drwxr-xr-x.  2 root root  24 Apr 11 15:31 money
drwxr-xr-x.  2 root root  24 Apr 11 15:31 student
-rw-r--r--.  1 root root  86 Apr 11 17:21 .stupasswd

1. htpasswd

  • 工具名称:Apache 自带的密码文件管理工具,用于生成和管理认证用户的密码文件。
  • 适用场景:配置服务器(如 Apache、Nginx)的访问权限时,通过密码文件验证用户身份。
  • 命令格式:htpasswd <选项> <密码文件> <用户名> 

2. 选项 -c

  • 作用:-c 是 create 的缩写,表示创建一个新的密码文件。
  • 如果指定的密码文件(.stupasswd)不存在,会创建新文件;
  • 如果文件已存在,会提示是否覆盖(需谨慎,避免删除已有用户)。
  • 首次创建密码文件时必须使用 -c,后续添加用户时无需再加(否则会覆盖原有文件)。

3. 选项 -b

  • 作用:用于非交互方式设置用户密码,允许在命令行中直接指定用户名和密码,而无需手动输入,适用于脚本自动化或批量处理。

4. 密码文件路径 .stupasswd

  • 文件名称:.stupasswd(隐藏文件)。
  • 存储内容:加密后的用户名和密码。
  • 存储位置:当前命令执行的目录(可通过绝对路径指定其他位置,如 /etc/nginx/.stupasswd)。

2.更新/etc/nginx/nginx.conf文件配置,判断语法,重启服务,Windows进行测试

[root@node1-server ~]# vim /etc/nginx/nginx.conf

 47         location /student {
 48                         alias /www/student/;
 49                         index index.html index.htm;
 50                         auth_basic "Restricted";  # 启用 HTTP 基本认证,提示用户输入用户名和密码;"Restricted" 是显示给用户的认证提示信息(浏览器弹出的登录框会显示此文本)
 51                         auth_basic_user_file /www/.stupasswd;  # 指定存储认证用户和密码的文件路径

[root@node1-server www]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@node1-server www]# systemctl restart nginx.service

(2)访问缴费网站实现数据加密基于https访问

1.创建私钥

[root@node1-server ~]# openssl genrsa -aes128 2048 > /etc/nginx/money.key

# 作用:生成一个 2048 位的 RSA 私钥,并使用 AES-128 算法对私钥进行加密保护,最终将私钥保存到文件 /etc/nginx/money.key 中。
# 核心目的:为 HTTPS 服务器(如 Nginx)创建私钥,用于加密通信数据,同时通过 AES 加密私钥本身,防止未经授权的访问。

Enter PEM pass phrase:   # 123456,此处隐藏
Verifying - Enter PEM pass phrase:   # 123456,此处隐藏

1. openssl
工具名称:
OpenSSL 是一个开源的密码学工具包,用于实现安全通信所需的加密、解密、证书管理等功能。
应用场景:生成私钥、证书签名请求(CSR)、创建自签名证书等。

2. genrsa
子命令:genrsa 用于生成 RSA 私钥(RSA 是一种非对称加密算法,用于密钥交换和数字签名)。

3. -aes128
加密算法与密钥长度:-aes128 表示使用 AES-128 对称加密算法对生成的私钥进行加密。
AES是目前广泛使用的安全加密算法,128 表示密钥长度为 128 位(安全性与性能的平衡选择,也可使用 -aes256 增强安全性)。
关键作用:私钥本身会被加密存储,后续使用时需输入密码解锁,防止私钥文件泄露后被直接利用。

4. 2048
RSA 密钥长度:指定生成的 RSA 私钥位数为 2048 位。
安全标准:2048 位是目前推荐的最小长度(2016 年后,1024 位被认为不够安全)。
更高位数(如 4096 位)安全性更强,但会增加计算开销。

5. > /etc/nginx/money.key
输出路径:将生成的私钥重定向到文件 /etc/nginx/money.key。
目录选择:/etc/nginx/ 是 Nginx 的配置目录,用于存放证书和私钥(需确保 Nginx 服务有读取该文件的权限)。文件名 money.key 可自定义,但建议包含业务相关名称(如 server.key)。

2.制作证书

[root@node1-server ~]# openssl req -utf8 -new -key /etc/nginx/money.key -x509 -days 365 -out /etc/nginx/money.crt

作用:利用已有的 RSA 私钥(/etc/nginx/money.key)生成一个 自签名的 X.509 证书,有效期为 365 天,并保存到文件 /etc/nginx/money.crt 中。
# 核心目的:为 HTTPS 服务器(Nginx)提供证书文件,实现加密通信(TLS/SSL 协议),同时通过自签名方式(无需 CA 机构)快速生成证书(适用于测试环境或内部系统)。

Enter pass phrase for /etc/nginx/money.key:   # 123456,私钥密码,此处隐藏
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86   # 国家代码(如 CN)
State or Province Name (full name) []:shh   # 省/州
Locality Name (eg, city) [Default City]:xi'an   # 城市
Organization Name (eg, company) [Default Company Ltd]:openlab   # 组织名称
Organizational Unit Name (eg, section) []:RHCE   # 部门
Common Name (eg, your name or your server's hostname) []:server   # 域名(必须与 server_name 一致)或填写服务器的hostname,此处server为主机名;将 Common Name 填写为服务器主机名仅适用于内网测试环境
Email Address []:zhao@qq.com   # 邮箱(可选)

[root@node1-server ~]# cd /etc/nginx/

[root@node1-server nginx]# cp money.key money.key.bak  # 备份私钥

[root@node1-server nginx]# openssl rsa -in money.key.bak -out money.key  # 将加密的私钥转换为未加密的私钥(或直接复制私钥内容),主要用于简化测试环境中的私钥使用或恢复备份。
Enter pass phrase for money.key.bak:   # 123456,私钥密码,此处隐藏
writing RSA key

1. openssl req
子命令:

req:用于处理证书签名请求(CSR)和自签名证书生成。

2. 选项 -utf8
作用:确保命令执行过程中的输入输出使用 UTF-8 编码,支持中文等多字节字符(如证书中的组织名称包含中文时必需)。
示例:若证书申请信息(如组织名称)包含中文,不加此选项可能导致乱码。

3. 选项 -new
作用:创建一个 新的证书签名请求(CSR) 或自签名证书(结合 -x509 时为自签名)。
核心逻辑:基于私钥生成公钥,并生成证书所需的元数据(如组织信息、域名等)。

4. 选项 -key /etc/nginx/money.key
作用:指定用于生成证书的 私钥文件路径(本例中为之前生成的 money.key)。
依赖关系:
私钥必须提前存在(如通过 openssl genrsa 生成)。
证书与私钥需匹配(即证书由该私钥对应的公钥生成)。

5. 选项 -x509
作用:生成 自签名的 X.509 证书(而非 CSR)。
关键区别:
自签名证书:由服务器自身生成,无需 CA 机构签名(浏览器会显示安全警告,适用于测试)。
CSR:需提交给 CA 机构签名,生成受信任的证书(用于生产环境)。

6. 选项 -days 365
作用:指定证书的有效期(天数)
安全建议:
生产环境建议设置更短的有效期(如 90 天),遵循现代安全实践(如 Let's Encrypt 的证书有效期为 90 天)。
过期后需重新生成证书并更新服务器配置。

7. 选项 -out /etc/nginx/money.crt
作用:指定生成的证书文件的输出路径和名称。
文件格式:PEM 格式(文本形式,包含证书内容和元数据)。

8. 选项 -in money.key.bak
作用:指定 输入文件路径,即待处理的私钥文件(本例中为备份文件 money.key.bak)。

9. 选项 -out money.key
作用:指定 输出文件路径,即处理后的私钥保存位置(本例中为 money.key)。

10. openssl rsa
子命令:
rsa:
专门用于处理 RSA 私钥(如转换格式、去除密码保护、提取公钥等)。

3./etc/nginx/nginx.conf中增添新的server,启用https

[root@node1-server nginx]# vim /etc/nginx/nginx.conf # 通过 server_name 和 listen 443 ssl 提供 HTTPS 服务,需要删除监听80端口部分的 location /money

 71     server {
 
72
 73         listen       443 ssl;  # 声明服务器监听 443 端口(HTTPS 协议默认端口);ssl 标志表示启用 SSL/TLS 加密,确保客户端与服务器之间的通信数据加密传输。
 74         server_name  www.openlab.com;  # 定义当前 server 块对应的域名
 75
 76         ssl_certificate      /etc/nginx/money.crt;   # SSL 证书文件路径(公钥证书)
 77         ssl_certificate_key  /etc/nginx/money.key;   # 私钥文件路径(与证书匹配的 RSA 私钥)
 78
 79         ssl_session_cache    shared:SSL:1m;  # SSL 会话缓存(共享内存,容量 1MB)
 80         ssl_session_timeout  5m;  # 会话缓存超时时间(5 分钟)
 81         ssl_ciphers  HIGH:!aNULL:!MD5;  # 允许的加密算法(高强度,排除不安全选项)
 82         ssl_prefer_server_ciphers  on;  # 优先使用服务器端的加密算法列表
 83
 84         location /money {   # 匹配以 /money 开头的 URL(https://www.openlab.com/money/)
 85                         alias   /www/money/;   # 将 URL 路径 /money/ 映射到本地目录 /www/money/
 86                         index  index.html index.htm;  # 定义目录的默认索引文件
 87                         }
 
88            }

4.判断语句是否无误,重启服务

[root@node1-server nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

[root@node1-server nginx]# systemctl restart nginx.service

5.Windows测试

通过 https://www.openlab.com/money/ 访问

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

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

相关文章

抖音ai无人直播间助手场控软件

获取API权限 若使用DeepSeek官方AI服务&#xff0c;登录其开发者平台申请API Key或Token。 若为第三方AI&#xff08;如ChatGPT&#xff09;&#xff0c;需通过接口文档获取访问权限。 配置场控软件 打开DeepSeek场控软件&#xff0c;进入设置界面找到“AI助手”或“自动化”…

TCP标志位抓包

说明 TCP协议的Header信息&#xff0c;URG、ACK、PSH、RST、SYN、FIN这6个字段在14字节的位置&#xff0c;对应的是tcp[13]&#xff0c;因为字节数是从[0]开始数的&#xff0c;14字节对应的就是tcp[13]&#xff0c;因此在抓这几个标志位的数据包时就要明确范围在tcp[13] 示例1…

封装一个搜索区域 SearchForm.vue组件

父组件 <template><div><SearchForm:form-items"searchItems":initial-values"initialValues"search"handleSearch"reset"handleReset"><!-- 自定义插槽内容 --><template #custom-slot"{ form }&qu…

GPT - GPT(Generative Pre-trained Transformer)模型框架

本节代码主要为实现了一个简化版的 GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型。GPT 是一种基于 Transformer 架构的语言生成模型&#xff0c;主要用于生成自然语言文本。 1. 模型结构 初始化部分 class GPT(nn.Module):def __init__(self, vocab…

贪心算法:部分背包问题深度解析

简介&#xff1a; 该Java代码基于贪心算法实现了分数背包问题的求解&#xff0c;核心通过单位价值降序排序和分阶段装入策略实现最优解。首先对Product数组执行双重循环冒泡排序&#xff0c;按wm(价值/重量比)从高到低重新排列物品&#xff1b;随后分两阶段装入&#xff1a;循环…

连接器电镀层的作用与性能

连接器电镀层的作用与性能&#xff1a; 镀金 金具有很高的化学稳定性&#xff0c;只溶于王水&#xff0c;不溶于其它酸&#xff0c;金镀层耐蚀性强&#xff0c;导电性好&#xff0c;易于焊接&#xff0c;耐高温&#xff0c;硬金具有一定的耐磨性。 对钢、铜、银及其合金基体而…

神经网络如何表示数据

神经网络是如何工作的&#xff1f;这是一个让新手和专家都感到困惑的问题。麻省理工学院计算机科学和人工智能实验室&#xff08;CSAIL&#xff09;的一个团队表示&#xff0c;理解这些表示&#xff0c;以及它们如何为神经网络从数据中学习的方式提供信息&#xff0c;对于提高深…

nginx自编译重现gzip和chunked的现象

前言 最近做项目&#xff0c;发现一个比较好玩的事&#xff0c;nginx的module gzip模式默认支持1KB压缩&#xff0c;和chunked返回&#xff0c;本来现在的很多框架都很完善了&#xff0c;但是&#xff0c;一些新语言框架或者一些老旧框架会不能完整支持chunked&#xff0c;导致…

jspm企业采购管理系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 相比于以前的传统企业采购手工管理方式&#xff0c;智能化的管理方式可以大幅降低企业采购管理的运营人员成本&#xff0c;实现了企业采购管理的标准化、制度化、程序化的管理&#xff0c;有效地防止了物资信息、物资入库、出库等的随意管理&#xff0c;提高了信息的处理…

现代测试自动化框架教程:Behave接口测试与Airtest移动端UI自动化

前言 我发现每天还是陆陆续续有人在看我之前写的自动化框架搭建的文档&#xff1b;即使很早就有新的框架&#xff0c;更好的选择出来了&#xff1b;所以特别写了这一篇目前大厂也在使用的&#xff1b;日活400w有实际落地的自动化测试架构方案&#xff1b; 随着测试技术…

优化运营、降低成本、提高服务质量的智慧物流开源了

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;从而大大减少企业级应用约95%的开发成本可通过边缘计算技术…

使用Lombok的@Slf4j和idea构建:找不到log符号-解决

问题&#xff1a;在使用Lombok的Slf4j构建项目时提示如下内容&#xff1a; MvcConfiguration.java:26:9 java: cannot find symbol symbol: variable log location: class cn.edu.wynu.mrcinerec.mrserver.config.WebMvcConfiguration查了网上的方法都是改配置 但是使用Googl…

【Python爬虫】简单案例介绍1

目录 三、Python爬虫的简单案例 3.1 网页分析 单页 三、Python爬虫的简单案例 本节以科普中国网站为例。 3.1 网页分析 单页 在运用 Python 进行爬虫开发时&#xff0c;一套严谨且有序的流程是确保数据获取高效、准确的关键。首先&#xff0c;深入分析单个页面的页面结构…

LLM-as-Judge真的更偏好AI输出?

论文标题 Do LLM Evaluators Prefer Themselves for a Reason? 论文地址 https://arxiv.org/pdf/2504.03846 代码地址 https://github.com/wlchen0206/llm-sp 作者背景 弗吉尼亚大学&#xff0c;乔治华盛顿大学 实践建议 在将LLM部署为评估器之前&#xff0c;应严格评…

【软考-架构】13.3、架构复用-DSSA-ABSD

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 1、软件架构复用2、特定领域软件架构DSSADSSA的三个基本活动参与DSSA的四种角色人员建立DSSA的过程三层次模型 考试真题第一题第二题 3、基于架构的软件开发ABSD的软件开发…

色温插值计算借鉴

色温插值计算方法借鉴&#xff1a; 摘至&#xff1a;Understanding the in-camera rendering pipeline & the role of AI and deep learning

SnailJob:分布式环境设计的任务调度与重试平台!

背景 近日挖掘到一款名为“SnailJob”的分布式重试开源项目,它旨在解决微服务架构中常见的重试问题。在微服务大行其道的今天&#xff0c;我们经常需要对某个数据请求进行多次尝试。然而&#xff0c;当遇到网络不稳定、外部服务更新或下游服务负载过高等情况时&#xff0c;请求…

网络安全-Http\Https协议和Bp抓包

1. http协议&#xff0c;有请求必有相应&#xff0c; 请求协议&#xff0c; 响应协议&#xff1b; 2. 密码学加密机制及常用算法和常用名称说明&#xff1a; 算法 密钥 明文数据 密文&#xff1b; 加密算法分类和常用算法&#xff1a; 加密算法可以归结为三大类&#xff…

爱普生FC1610AN5G手机中替代传统晶振的理想之选

在 5G 技术引领的通信新时代&#xff0c;手机性能面临前所未有的挑战与机遇。从高速数据传输到多任务高效处理&#xff0c;从长时间续航到紧凑轻薄设计&#xff0c;每一项提升都离不开内部精密组件的协同优化。晶振&#xff0c;作为为手机各系统提供稳定时钟信号的关键元件&…

质粒已被全面解析

随着微生物研究的不断深入和耐药性问题的日益加剧&#xff0c;了解质粒对开发抗菌策略及生物技术应用意义重大。但现有质粒数据库缺乏细致注释并且工具存在不足。近期&#xff0c;香港城市大学李帅成课题组在Nucleic Acids Research期刊发表研究成果&#xff0c;推出全面注释质…