安装Nginx
- 首先更新你的包索引:
- 安装Nginx:
- 安装完成后,启动Nginx服务:
1
| sudo systemctl start nginx
|
- (可选)设置Nginx开机自启:
1
| sudo systemctl enable nginx
|
- 你可以通过以下命令检查Nginx服务的状态:
1
| sudo systemctl status nginx
|
如果需要配置Nginx,你可以编辑 /etc/nginx/nginx.conf
文件或在 /etc/nginx/sites-available/
配置文件说明
listen [::]:80
在Nginx
配置文件中这个[]
表示的是使用ipv6格式
,那么真正表示的ipv6
地址就是::
,那么就很简单了::
表示的就是全为0
的ipv6
地址(作用可以类比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'
|
这将列出与指定字符串匹配的所有加密套件,并显示每个套件的详细信息。如果命令输出显示了与你期望的加密套件相匹配的行,那么你的配置应该是正确的。