Ubuntu安装Nginx配置等

安装Nginx

  1. 首先更新你的包索引:
1
sudo apt update
  1. 安装Nginx:
1
sudo apt install nginx
  1. 安装完成后,启动Nginx服务:
1
sudo systemctl start nginx
  1. (可选)设置Nginx开机自启:
1
sudo systemctl enable nginx
  1. 你可以通过以下命令检查Nginx服务的状态:
1
sudo systemctl status nginx

如果需要配置Nginx,你可以编辑 /etc/nginx/nginx.conf 文件或在 /etc/nginx/sites-available/

配置文件说明

listen [::]:80Nginx配置文件中这个[]表示的是使用ipv6格式,那么真正表示的ipv6地址就是::,那么就很简单了::表示的就是全为0ipv6地址(作用可以类比0.0.0.0参考:

default_server nginx 默认虚拟主机

配置网站文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
server  {
listen 80; #支持IPV4
listen [::]:80; #支持IPV6
server_name your_domain_name; #绑定域名
index index.htm index.html index.php; #默认文件
# root /usr/localBlog/Blog; #网站根目录
# include location.conf; #调用其他规则,也可去除

# 网站加密使用 不加密不要使用
auth_basic "Input name password"; # 验证时的提示信息
auth_basic_user_file /usr/password/password; # 认证文件

location / {
root /usr/localBlog/Blog; #网站根目录
index index.html index.htm; #设置默认页
try_files $uri $uri/ /index.html;
}
}


server {
listen 443 ssl; #支持IPV4
listen [::]:443 ssl; #支持IPV6
server_name your_domain_name; #绑定域名
index index.htm index.html index.php; #默认文件

ssl on; # 开启 Nginx SSL 模块
ssl_certificate /usr/Nginx/fullchain.crt; # 网站新证书路径
ssl_certificate_key /usr/Nginx/private.key; # 网站新私钥路径

# 启用 ssl session 缓存
ssl_session_cache shared:SSL:1m;
# 缓存SSL握手产生的参数和加密密钥的时长
ssl_session_timeout 10m;
# 使用的加密套件的类型
ssl_ciphers 'HIGH:!aNULL:!MD5:!kEDH';
# 表示使用的TLS协议的类型
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
# 加密套件有限选择服务器的加密套件
ssl_prefer_server_ciphers on;

# 网站加密使用 不加密不要使用
auth_basic "Input name password"; # 验证时的提示信息
auth_basic_user_file /usr/password/password; # 认证文件


# root /usr/localBlog/Blog; #网站根目录
# include location.conf; #调用其他规则,也可去除

location / {
root /usr/localBlog/Blog; #网站根目录
index index.html index.htm; #设置默认页
try_files $uri $uri/ /index.html;
}
}

your_domain_name 替换成你的域名

/usr/Nginx/fullchain.crt 替换成你的证书路径和你的证书

/usr/Nginx/private.key 替换成你的证书密钥路径和你的证书密钥

/usr/localBlog/Blog 替换成你的网页路径

/usr/password/password 替换成你的加密文件

反向代理配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
server  {
listen 80;
listen [::]:80;
server_name your_domain_name; #绑定域名


location / {
client_max_body_size 200M;

proxy_pass http://localhostgitea:2000; #由外部端口转到本地端口,就不用打开3000端口
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
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;

}
}


server {
listen 443 ssl;
listen [::]:443 ssl;
server_name your_domain_name; #绑定域名

ssl on; # 开启 Nginx SSL 模块
ssl_certificate /usr/local/Certificate/sslsky/Nginx/fullchain.crt; # 网站新证书路径
ssl_certificate_key /usr/local/Certificate/sslsky/Nginx/private.key; # 网站新私钥路径

# 启用 ssl session 缓存
ssl_session_cache shared:SSL:1m;
# 缓存SSL握手产生的参数和加密密钥的时长
ssl_session_timeout 10m;
# 使用的加密套件的类型
ssl_ciphers 'HIGH:!aNULL:!MD5:!kEDH';
# 表示使用的TLS协议的类型
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
# 加密套件有限选择服务器的加密套件
ssl_prefer_server_ciphers on;

location / {
client_max_body_size 200M;

proxy_pass http://localhostgitea:2000;
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
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;

}
}

localhostgitea 是本地一个IP地址也可以是另一个IP地址,进行;当为本地的时候,可以通过 /etc/hosts 设置,设置如下

1
127.0.0.10      localhostgitea

设置成别的 IP 地址,就可以替换为如下

1
proxy_pass http://192.168.2.3:2000;

反向代理的原理就是, 通过网站 80 或者 443端口,访问进来,然后通过该代理直接跳转到另一个IP和端口,以上面示例说明,这里通过网站进入后,会跳转到localhostgitea:2000的服务上面。就相当于搭建了一个桥梁,让两条路通过桥梁进行交流

运行以下命令可以检查Nginx服务器上支持的加密套件:

1
openssl ciphers -v 'HIGH:!aNULL:!MD5:!kEDH'

这将列出与指定字符串匹配的所有加密套件,并显示每个套件的详细信息。如果命令输出显示了与你期望的加密套件相匹配的行,那么你的配置应该是正确的。