============
== 白菜 ==
============
一个勤奋的代码搬运工!

nginx 启用目录索引,显示文件列表

nginx
在nginx中,如果特定目录中没有index.html 文件,则默认会返回 404 Not Found 的错误。 但是,Nginx 自动索引模块—— ngx_http_autoindex_module 模块,提供了一种自动生成列表的方法,添加自动索引非常容易,使用 autoindex on 即可。下面的配置,将在访问特定请求时返回目录结构。 官方参考: http://nginx.org/en/docs/http/ngx_http_autoindex_module.html server { listen 80; ... ... location /index_dir { autoindex on; } } 除了简单地使用自动索引打开或关闭之外,还可以对其做其他的配置,包括: autoindex_exact_size; 显示输出的确切文件大小,还是最接近的KB,MB或GB。默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB。 autoindex_format; 该指令指定Nginx索引列表应以什么格式输出。该指令有4个选项:html/xml/json/jsonp。 autoindex_localtime; 显示的文件时间为GMT时间。 注意:改为on后,显示的文件时间为文件的服务器时间。 使用这几个配置后配置内容类似于如下内容: location /index_dir/ { root /data/index_dir/; autoindex on; autoindex_exact_size off; autoindex_format html; autoindex_localtime on; } 如果有中文目录的话会出现乱码问题,所以还需要在下面添加这一句: charset utf-8; 或 charset utf-8,gbk;

PostgresSQL 基本用法:新建数据库、用户、连接、备份/恢复数据库

postgres
系统环境: Debian 11 切换到超级用户: sudo su postgres 进入psql: psql 创建一个用户: CREATE USER username WITH PASSWORD 'password'; 查看角色列表: \du 创建数据库并制定所有者和编码: CREATE DATABASE dbname WITH OWNER username ENCODING UTF8; 创建一个数据库: CREATE DATABASE dbname; 查看数据库列表: \l 更改刚创建的数据库所有权: ALTER DATABASE dbname OWNER TO username; 删除表字段 要删除一个字段,使用下面这样的命令: ALTER TABLE products DROP COLUMN description; 不管字段里有啥数据,都会消失,和这个字段相关的约束也会被删除。不过, 如果这个字段被另一个表的外键约束所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用CASCADE指明删除任何依赖该字段的东西: ALTER TABLE products DROP COLUMN description CASCADE; 通过psql连接数据库 psql -h 127.0.0.1 -p 5432 -U username -d dbname 备份数据库 pg_dump dbname > dbname. Read more...

查看 Debian 系统版本的方式

debian
查看 Dibian 系统发行版本号的方式 1. 使用 lsb_release 命令 lsb_release 命令可用于查看 Linux 发行版操作系统的具体版本。它可能尚未安装在你的操作系统中,因此你需要先安装它。运行以下命令来安装 lsb_release: apt-get install lsb-release 安装完成之后,只需要输入下面的命令就可以查看到你当前系统的版本信息: lsb_release -a 你将看到类似下面的结果: No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye 以上运行结果说明当前使用的操作系统版本是 Debian 11. 2. 查看 /etc/issue 文件 第二种查看当前 Debian 版本的方法是查看位于 /etc 目录中的 issue 文件。你可以使用 cat 命令查看文件的内容,输入下面的命令: cat /etc/issue 你将看到类似下面的结果: Debian GNU/Linux 11 \n \l 3. 查看 /etc/os-release 文件 /etc/os-release 是一个包含操作系统标识数据的文件,它只能在运行 systemd 的最新 Debian 发行版上找到。同样可以使用 cat 命令查看该文件的内容,输入下面的命令: Read more...

删除 Debian Gnome 所有默认安装的游戏

debian gnome games
我用以下命令删除Debian 11.5(带有gnome)中的所有预装游戏: sudo apt purge aisleriot gnome-sudoku gnome-nibbles ace-of-penguins gnomine gbrainy gnome-sushi gnome-taquin gnome-tetravex gnome-robots gnome-chess lightsoff swell-foop quadrapassel tali gnome-mahjongg gnome-2048 iagno gnome-klotski five-or-more gnome-mines four-in-a-row hitori && sudo apt autoremove

如何关闭 Ubuntu 中的开放端口?

Ubuntu 命令行 netstat
如何关闭 Ubuntu 中的开放端口? 问题描述 列出所有打开的端口,以关闭一些应用程序的端口。 最佳办法 如果要关闭端口,则必须终止进程或停止相关服务。 可以使用 netstat -nalp 和 lsof -i:port 工具来识别打开端口后面的进程/二进制文件。 netstat 可用于查看端口统计信息。 要显示所有开放端口的列表: sudo netstat -lnp 列出所有侦听端口号以及每个负责的进程。终止或终止进程以关闭端口。 ( kill , pkill …) 关闭一个打开的端口: sudo fuser -k port_no/tcp 例子: sudo fuser -k 8080/tcp 次佳办法 要在 ubuntu 中关闭开放端口,可以使用以下命令 sudo kill $(sudo lsof -t -i:3000) 代替 3000 你可以指定你的端口号 lsof 命令将提供有关进程打开的文件的信息 -t :此标志指定 lsof 应仅生成带有进程标识符且没有标头的简洁输出 – 例如,以便可以将输出通过管道传输到 kill(1)。此选项选择 -w 选项。 -i :此标志选择任何 Internet 地址与 i 中指定的地址匹配的文件列表。如果未指定地址,此选项将选择所有 Internet 和 x.25 (HP-UX) 网络文件的列表。 Read more...

解决 Firefox 访问weibo搜索或热搜提示 建立安全连接失败

firefox weibo
应用版本:firefox 开发者版 v101 问题描述:微博主页可以正常访问,但点击搜索或热搜链接,都提示: 建立安全连接失败 连接到 s.weibo.com 时发生错误。 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。 建议向此网站的管理员反馈这个问题。 详细了解… 通过curl -v “网址” 反复重试对比发现在访问微博热搜的时候有一个加密协商被“微博账户认证网关服务器”拒绝了。 具体测试指令: 通过 curl -v "https://s.weibo.com/weibo?q=%23%E7%A5%9D%E8%9E%8D%E5%8F%B7%E5%87%86%E5%A4%87%E5%9C%A8%E7%81%AB%E6%98%9F%E8%B6%8A%E5%86%AC%23&topic_ad=" 得到302跳转请求链接 继续 curl -v "https://passport.weibo.com/visitor/visitor?entry=miniblog&a=enter&url=https%3A%2F%2Fs.weibo.com%2Fweibo%3Fq%3D%2523%25E7%25A5%259D%25E8%259E%258D%25E5%258F%25B7%25E5%2587%2586%25E5%25A4%2587%25E5%259C%25A8%25E7%2581%25AB%25E6%2598%259F%25E8%25B6%258A%25E5%2586%25AC%2523%26topic_ad%3D&domain=.weibo.com&sudaref=&ua=php-sso_sdk_client-0.6.29&_rand=1651842429.1375" 返回 …… * TLSv1.2 (IN), TLS handshake, Finished (20): * SSL connection using TLSv1.2 / AES256-GCM-SHA384 * ALPN, server did not agree to a protocol * Server certificate: * subject: C=CN; ST=Beijing; O=Sina.com Technology(China)Co.,ltd; CN=sina.com …… 注意这段提示: ALPN, server did not agree to a protocol ALPN ALPN(Application-Layer Protocol Negotiation):应用层协议协商是 TLS 的一个扩展,故而应用层协议在协商加密协议的过程中,避免了额外的往返通讯开销。 ALPN支持任意应用层协议的协商,目前应用最多是HTTP2的协商。当前主流浏览器,都只支持基于 HTTPS 部署的 HTTP/2,因为浏览器是基于ALPN协议来判断服务器是否支持HTTP2协议。 Read more...

上传公钥实现ssh登录

linux ssh-copy-id ssh
生成密钥和公钥 如果之前已经存在就不用重新生成了 $ ssh-keygen -t rsa 上传公钥 $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 其中root 服务器用户, 192.168.0.1 是服务器ip。之后按照提示输入密码即可 连接到服务器 直接使用ssh直接连接服务器,无需输入密码 $ ssh [email protected]

在 Linux 命令行中使用的 6 个元字符

在 Linux 命令行上使用元字符是提高生产力的一个好方法。 许多 Linux 电脑是无头运行的,你可以在命令行上完成所有的管理任务。它使用许多所有人都熟悉的基本命令,如 ls、ls-l、ls-l、cd、pwd、top 等等。 Linux 上的 Shell 元字符 你可以通过使用元字符来扩展这些命令。 管道符 | 假设我想知道我的系统上运行的 Firefox 的所有实例。我可以使用带有 -ef 参数的 ps 命令来列出我系统上运行的所有程序实例。现在我想只看那些涉及 Firefox 的实例。我使用了我最喜欢的元字符之一,管道符 |,将其结果送到 grep,用它来搜索模式: $ ps -ef | grep firefox 输出重定向 > 另一个我最喜欢的元字符是输出重定向 >。我用它来打印 dmesg 命令结果中所有 AMD 相关的结果。你可能会发现这在硬件故障排除中很有帮助: $ dmesg | grep amd > amd.txt $ cat amd.txt [ 0.897] amd_uncore: 4 amd_df counters detected [ 0.897] amd_uncore: 6 amd_l3 counters detected [ 0.898] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank). Read more...

ubuntu上安装微信(wechat)

ubuntu wechat weixin
介绍 由于微信官网 https://weixin.qq.com/ 没有linux版本的下载和安装方法,但微信确实提供了优麒麟发行版的官方版本,所以就有了下面的安装方法。 安装方法 打开优麒麟应用商店官网,然后下载应用,就看到微信了 https://www.ubuntukylin.com/applications/106-cn.html 下载deb包,用命令sudo dpkg -i ,就能安装上了,而且可以用。 这是linux原生的,功能少点,但比wine的要轻巧不少。 安装方法2 下载链接在方法1中,优麒麟应用商店微信应用页面右键 “64位下载” ——> “复制链接” 终端下载Deb安装: wget -O ~/weixin.deb "http://archive.ubuntukylin.com/software/pool/partner/weixin_2.1.1_amd64.deb" sudo dpkg -i ~/weixin.deb

Docker 运行 postgreSQL

Docker postgres
简单步骤 安装docker,可参考 安装docker及简单的使用 或 百度解决; 拉取postgreSQL的docker镜像文件: docker pull postgres 创建 docker volume,名字为“dv_pgdata"(其实可以省略手动创建,直接跑下一步,docker也会自动创建的): docker volume create dv_pgdata 启动容器,用-v来指定把postgres的数据目录映射到上面创建的dv_pgdata里面: docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres 这时候查看已存在的docker volume: docker volume ls 查看volume信息: cn2d6@navxin-desktop:~$ docker inspect dv_pgdata 在宿主机,也可以直接查看volume里的内容: cn2d6@navxin-desktop:~$ cd /var/lib/docker/volumes/dv_pgdata/_data cn2d6@navxin-desktop:~$ ll 查看postgresql: cn2d6@navxin-desktop:~$docker exec -it 618 bash root@618f1a4128ee:/# psql -U postgres -d postgres -p 5432 -h 127.0.0.1 更多的时候,我们希望能用图形界面来管理和操作数据库,可以部署pgadmin工具(例如下面),然后在浏览器中访问宿主机的5080端口,便能打开pgadmin。 docker pull dpage/pgadmin4 docker run --name pgadmin -p 5080:80 \ -e 'PGADMIN_DEFAULT_EMAIL=hi@nav. Read more...
Previous Page 5 of 8 Next Page