Xshell直接进入ROOT用户
进入 etc/ssh文件,nano sshd_config文件
复制#PermitRootLogin prohibit-password并改为PermitRootLogin yes
完成后先后输入service ssh restart与service ssh status即可完成
关闭Xshell更改用户名与密码进入就是ROOT用户了
直接拖入文件
进入 etc/apt文件,nano sources.list文件
导入ubuntu镜像
ubuntu 22.04 LTS (jammy) 配置如下
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
一. Nginx介绍(官网)
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型。作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器)。
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持 perl 语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7 * 24 不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。
Nginx 和 Apache 对比
- 静态文件处理能力:nginx 高于 apache
- 资源消耗:nginx 优于 apache,因为 nginx 是异步处理模型,只需要几个进程就能够处理大量在线请求,而 apache 2.4 仍然是进程模型或者线程模型,即仍然采用大量线程来处理大量在线请求。
- apache 支持的模块很多,而且也比较稳定。而 nginx 由于出现的比较晚,所以在这方面可能比不上 apache。
- nginx 本身就是一个反向代理服务器,而且支持 7 层负载均衡。
- nginx 处理动态页面很鸡肋,一般只用与处理静态页面和反向代理。
二. 下载【Ubntu 还需要安装install build-essential 编译器套件组(apt install build-essential)】
直接拖入 test/nginx文件中
.tar.gz需要用tar xzvf解压
mv是将文件改名
2.1 主配置文件:nginx.conf
nginx.conf
是 Nginx 的主配置文件,它位于 /etc/nginx/
(在Debian/Ubuntu系统中)或 /usr/local/nginx/conf/
(在其他系统中)。这个文件定义了 Nginx 的全局配置,包括工作进程数、日志文件位置、事件处理模型等。
以下是一个简化的 nginx.conf
示例:
# 工作进程数量的参数
worker_processes 1;
events {
# 每个工作进程的最大连接数
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream home {
server 127.0.0.1:8080 weight=1;
server 127.0.0.1:800 backup;
}
}
worker_processes
指令定义了Nginx工作进程的数量。通常设置为服务器的CPU核心数。events
块定义了Nginx的事件处理模型,如worker_connections
指令,它定义了每个工作进程允许的最大并发连接数。http
块包含了所有与HTTP相关的配置。include
指令包含了其他配置文件,如mime.types
,它定义了文件扩展名与MIME类型之间的映射。default_type
指令定义了默认的MIME类型。sendfile
指令启用了sendfile系统调用,以提高文件传输性能。keepalive_timeout
指令定义了客户端连接的保持活跃时间。server
块定义了一个虚拟服务器,它可以监听特定的端口(如80)并响应请求。listen
指令定义了服务器监听的端口。server_name
指令定义了服务器的主机名。location
块定义了请求的处理规则。在这个例子中,所有对根路径(“/”)的请求都会被映射到html
目录下的index.html
或index.htm
文件。error_page
指令定义了错误页面的映射。在这个例子中,所有50x错误都会被重定向到/50x.html
文件。
2.2 辅助配置文件
除了主配置文件外,Nginx还可以包含其他辅助配置文件。这些文件通常位于 /etc/nginx/conf.d/
(在Debian/Ubuntu系统中)或 /usr/local/nginx/conf/
(在其他系统中)。辅助配置文件可以包含特定于站点或应用程序的配置,以便于管理和维护。
辅助配置文件的语法与主配置文件相同,可以包含 server
、location
等块。例如,以下是一个简单的辅助配置文件,用于设置一个名为 example.com
的站点:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
在这个例子中,我们定义了一个新的虚拟服务器,它监听80端口,并响应 example.com
的请求。站点的根目录设置为 /var/www/example.com
,默认索引文件为 index.html
。我们还定义了一个 location
块,用于处理所有对根路径的请求。
2.3重载配置文件
在修改Nginx配置文件后,您需要重新加载配置以使更改生效。这可以通过 nginx -s reload
命令完成。
或者,如果您使用的是 systemd 管理的系统,可以使用 systemctl reload nginx
和 service nginx reload
命令。
这些命令会向 Nginx 发送一个信号,告诉它重新加载配置文件。请注意,在重新加载配置文件之前,您应该确保配置文件的语法是正确的,以避免服务中断。您可以使用 nginx -t
命令检查配置文件的语法
如果配置文件的语法正确,您将看到nginx: configuration file /etc/nginx/nginx.conf test is successful
输出
location
路径的不同写法优先级:
- 最高优先级
=
:表示路径完全等于 - 第二高
^~
:表示 startsWith - 第三高
~、~*、!~、!~*
:
~
:正则匹配,表示正则,如果要用{}
是特殊符号,需要整个加引号,建议直接加双引号,防止出错
~*
:不区分大小写正则
!~
:正则不匹配的
!~*
:不分大小写的正则不匹配 - 最低没有前置符号:不符合上面三种,就会匹配到这