NginxLearningLog240429
1 中文乱码问题
在/etc/nginx/的编辑配置文件nginx.conf中 在http块里面写入一行charset utf-8;
这样在就可以避免浏览器为了加载速度,而继续使用上次URL的编码方式。所以我们需要在在浏览器中使用ctrl + f5强制刷新,强制清理browser cache,即强制浏览器跳过本地缓存,重新向 Nginx 请求完整的数据包和新的 Header 信息。
记得要sudo nginx -t && sudo service nginx reload检查语法并重载配置文件。
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ sudo nginx -t && sudo service nginx reload2 curl的使用
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ curl -I localhostcurl,Client URL,Linux 世界里,curl 就像是一个“没有图形界面的浏览器”。
curl [URL]: 最基础的用法。它会直接把网页的 Source Code(源代码)打印在终端。
-I(or --head):
作用:只获取 Response Headers(响应头),不下载网页内容。
场景:可以用于检查刚才刚刚设置的 charset=utf-8 是否生效时用的参数。
-v(or --verbose):
作用:显示完整的 Handshake(握手)过程。
场景:你可以看到 DNS 解析、连接建立以及详细的请求/响应过程,非常适合学习 TCP/IP。
-o[filename]:
作用:将下载的内容保存到指定的 File(文件)中,而不是打印在屏幕上。
3 修改端口配置 port mapping
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ sudo ss -tulpn | grep :8080
ss (Socket Statistics): 这个工具取代了老旧的 netstat。
-tulpn: 这是一个组合参数。
-t (TCP): 只显示 TCP 协议。
-u (UDP): 显示 UDP。
-l (Listening): 只显示监听状态的套接字。
-p (Processes): 显示哪个 Process ID (PID) 在占用。
-n (Numeric): 直接显示端口号,不解析成协议名称(如不显示为 "http")。
4 /etc/nginx/sites-enabled 和 /etc/nginx/sites-available下有相同的default文件
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ ls -l total 0 lrwxrwxrwx 1 root root 34 Apr 29 18:51 default -> /etc/nginx/sites-available/default实际上,sites-enabled 里的文件通常只是一个指向 sites-available 的“快捷方式”(类似 Windows 的快捷方式)。
好处:当你不想运行某个网站时,只需删除 sites-enabled 里的链接,而不需要删除真正的配置文件。
5 why新编写为page全部都出现403
因为 新写的文件使用sudo写入的,其所有者是root,而nginx一般以www-data用户运行,因此Nginx 需要对目录有 Execute (x) 权限才能进入目录,有 Read (r) 权限才能读取文件。
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ sudo chown -R www-data:www-data /var/www/html/page1chown, Change Owner 。-R, 递归。
把 /var/www/html/page1 的所有者改变为 www-data组 中的 www-data用户
( 用户www-data : 用户组www-data)
6 linux权限问题
┌──(stylus㉿Stylus)-[/etc/nginx/sites-enabled] └─$ sudo chmod 755 -R /var/www/html/page1三位数字对应三类用户,第一位是 所有者,第二位是 同组用户,第三位是 其他用户
数字所代表的意义:
-r = 4, read, 读;-w = 2, write, 写;-x = 1, execute, 执行
对应位上的为所拥有的权限的sum,
如7 = 4+2+1,即所有者对该目录具有“读写执行”的权限。
