首页
文章导航
留言板
友链
更多
关于
Search
1
常用安装脚本知识 [24年10月27日更新]
70 阅读
2
Win10怎么默认开启数字小键盘
68 阅读
3
网页制作常用代码 不断增加 [2025年7月8更新]
66 阅读
4
总结白嫖】DeepSeek R1 671B满血版-网页版+API版
55 阅读
5
自建不蒜子
54 阅读
默认
日常
学习
技术
登录
Search
标签搜索
安装
cloudflare
白嫖
脚本
CF
壁纸
图片
docker
Linux
Caddy
代码
哪吒
域名
节点
桌面壁纸
手机壁纸
NAT
LXC
优选
HTML
ws01
累计撰写
108
篇文章
累计收到
61
条评论
首页
栏目
默认
日常
学习
技术
页面
文章导航
留言板
友链
关于
搜索到
78
篇与
的结果
2024-04-28
Linux系统下常用命令【不断补充】
Linux系统下常用命令 【不断补充】退出数据库:exit删除指定web1文件夹下的所有文件:rm -rf /home/web/html/web1在指定web1文件夹下建立一个文件index.html:touch /home/web/html/web1/index.html在指定html文件夹下建立新文件夹web1,并进入建立后的web1文件夹:cd /home/web/html/ && mkdir web1 && cd web1解压到指定文件夹下:unzip /一级文件夹/二级文件夹/.../XXX.zip -d /一级文件夹/二级文件夹/.../最后指定文件目录/使用 mv 命令指定要移动的文件夹和目标文件夹的路径:mv /一级文件夹/二级文件夹/.../* /一级文件夹/二级文件夹/.../最后指定文件目录/下载typecho.zip源码,解压后,删除:wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip unzip typecho.zip rm typecho.zip编辑docker-compose.yml文件:nano /home/web/docker-compose.yml进入文件夹命令:cd创建文件夹命令:mkdir创建文件命令:touch删除命令:rm退出编辑并保存:ctry+X+Y+确定【4个键组合】一、ZIP压缩打包和解压1、打包解压打包命令如下(提前在根目录创建好/backup):zip -q -r /backup/backup$(date +%Y%m%d%H%M).zip /opt以上命令是将文件夹/opt下所有的文件及子文件夹打包到/backup目录下,并以时间来命名。解压命令如下:unzip /backup/backup20200925.zip -d /opt以上命令是将压缩包解压到/opt目录下。2、加密压缩加密压缩如下:zip -q -r -P'wzfou123' /backup/backup$(date +%Y%m%d%H%M).zip /opt以上命令是将文件夹/opt下所有的文件及子文件夹打包到/backup目录下,设置了加密密码“123456”,并以时间来命名。加密解压如下:unzip -P'wzfou123' /backup/backup20200925.zip -d /opt以上命令是将压缩包解压到/opt目录下,请替换你的密码。二、Tar压缩打包和解压1、打包解压打包命令如下(提前在根目录创建好/backup):tar -czvf /backup/backup$(date +%Y%m%d%H%M).tar.gz /opt以上命令是将文件夹/opt下所有的文件及子文件夹打包到/backup目录下,并以时间来命名。解压命令如下:tar zxvf /backup/backup20200925.tar.gz -C /opt以上命令是将压缩包解压到/opt目录下。2、加密压缩加密压缩如下:tar zcvf - /opt | openssl des3 -salt -k '123456' -out /backup/backup$(date +%Y%m%d%H%M).tar.gz以上命令是将文件夹/opt下所有的文件及子文件夹打包到/backup目录下,设置了加密密码“123456”,并以时间来命名。加密解压如下:openssl des3 -d -k '123456' -salt -in /backup/backup20200925.tar.gz | tar zxvf - -C /opt以上命令是将压缩包解压到/opt目录下,请替换你的密码。三、50个基础 Linux 命令pwd // 显示当前工作目录。 ls // 列出目录内容。 cd // 切换目录。 touch // 创建一个空文件。 cat // 连接并显示文件内容。 cp // 复制文件或目录。 mv // 移动或重命名文件或目录。 rm // 删除文件或目录。 mkdir // 创建新目录。 rmdir // 删除空目录。 echo // 显示一行文本或变量的值。 nano // 简单的文本编辑器。 vi // 功能强大的文本编辑器。 chmod // 更改文件或目录权限。 chown // 更改文件或目录的所有者和组。 find // 在目录层级中搜索文件。 grep // 使用模式搜索文本。 man // 查看命令的使用手册。 ps // 显示正在运行的进程信息。 kill // 通过进程 ID (PID) 终止进程。 top // 实时显示并更新进程排序信息。 df // 报告文件系统磁盘空间使用情况。 du // 估算文件空间使用量。 free // 显示内存使用情况。 uname // 显示系统信息。 uptime // 显示系统已运行时间。 whoami // 显示当前用户。 sudo // 以其他用户(通常是超级用户)的身份执行命令。 apt-get // Debian 系发行版的软件包管理工具。 yum // 基于 RPM 的发行版的软件包管理器。 tar // 打包文件。 zip // 打包并压缩文件。 unzip // 解压缩文件。 wget // 从网络上获取文件。 curl // 从服务器传输数据或向服务器发送数据。 ssh // 远程登录工具 (OpenSSH 客户端)。 scp // 安全复制远程文件。 rsync // 远程文件与目录同步工具。 hostname 显// 示或设置系统主机名。 ping // 向网络主机发送 ICMP ECHO 请求。 netstat // 显示网络连接、路由表、接口统计等。 ifconfig // 配置网络接口。 ip // 显示或操作路由、设备、策略路由和隧道。 iptables // IPv4 包过滤与 NAT 管理工具。 systemctl // 管理 systemd 系统和服务。 journalctl // 查询并显示系统日志信息。 crontab // 安排周期性后台任务。 sudo su // 切换到其他用户并在当前会话中执行一条或多条命令。 mount // 挂载文件系统。 umount // 卸载文件系统。四、其它命令1、设置时区为上海sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime2、安装node环境,切换node版本只需再次安装需要的版本即可自动切换curl https://get.volta.sh | bashexport VOLTA_HOME="$HOME/.volta" export PATH="$VOLTA_HOME/bin:$PATH"source ~/.bashrcvolta install node@16.0.03、稳定获取IP位置curl https://www.visa.cn/cdn-cgi/trace4、快速测试容器IPdocker run --rm alpine/curl curl ping0.cc/geo5、查看系统架构dpkg --print-architectureuname -a6、查看系统版本cat /etc/os-releaselsb_release -a7、显示内存占用最大的10个进程【mem为内存,可改为cpu】ps aux --sort=-%mem | head -n 108、设置主机名sudo hostnamectl set-hostname wovow sudo bash -c 'echo "127.0.0.1 wovow" >> /etc/hosts'或hostnamectl set-hostname localhost9、禁用IPV6echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf应用配置sudo sysctl -p10、apk包安装apk add curl wget vim zip11、apk包更新apk update
2024年04月28日
48 阅读
3 评论
0 点赞
2024-04-26
用 frankenphp+mysql 快速搭建一个高性能的网站-1!
用 frankenphp+mysql 快速搭建一个高性能的网站-1! 本文参考 科技lion大佬 FrankenPHP 是构建在Caddy Web 服务器之上的现代 PHP 应用程序服务器。一、docker安装curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、创建目录结构mkdir -p /home/web/{caddy,html,,mysql} touch /home/web/caddy/Caddyfile三、下载源码1、安装wordpresscd /home/web/html/ && mkdir web1 && cd web1 wget -O latest.zip https://cn.wordpress.org/latest-zh_CN.zip unzip latest.zip rm latest.zipecho "define('FS_METHOD', 'direct'); define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', '6379');" >> /home/web/html/web1/wordpress/wp-config-sample.php2、安装typechocd /home/web/html/ && mkdir web2 && cd web2 cd /home/web/html/web2/ && mkdir typecho && cd typecho wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip unzip typecho.zip rm typecho.zipecho "define('FS_METHOD', 'direct'); define('TYPECHO_REDIS_HOST', 'redis'); define('TYPECHO_REDIS_PORT', '6379');" >> /home/web/html/web2/typecho/typecho-config-sample.php四、配置Caddyfile,以kjlion.com为例nano /home/web/caddy/Caddyfile{ frankenphp order mercure after encode order vulcain after reverse_proxy order php_server before file_server order php before file_server } kjlion.com { root * public/web1/wordpress encode zstd gzip php_server }五、启动环境wget -O /home/web/docker-compose.yml https://raw.githubusercontent.com/kejilion/docker/main/docker-compose-frankenphp.yml nano /home/web/docker-compose.yml cd /home/web && docker-compose up -d六、安装PHP扩展docker exec -it web install-php-extensions mysqli gd intl zip opcache docker exec -it web install-php-extensions exif imagick redis docker exec web sh -c 'echo "upload_max_filesize=50M \n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini' docker exec web sh -c 'echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini' docker exec web sh -c 'echo "max_execution_time=1200" > /usr/local/etc/php/conf.d/max_execution_time.ini' docker exec web sh -c 'echo "max_input_time=600" > /usr/local/etc/php/conf.d/max_input_time.ini'七、创建数据库docker exec -it mysql mysql -u root -p CREATE DATABASE web1; GRANT ALL PRIVILEGES ON web1.* TO 'kejilion'@'%';八、重启环境cd /home/web && docker-compose restart
2024年04月26日
21 阅读
0 评论
0 点赞
2024-04-24
Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站
Caddy新一代轻量web服务器 配置简单 自动HTTPS 反向代理建站Caddy 2是一款功能强大、企业级、开源 Web 服务器,具有用 Go 编写的自动 HTTPS。本文转自: 科技lion 一、docker一键安装curl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、创建Caddyfile和index.htmlmkdir -p /home/web/{caddy,html} touch /home/web/caddy/Caddyfile touch /home/web/html/index.html三、配置index.htmlhttps://github.com/kejilion/Website_source_code/blob/main/index.htmlnano /home/web/html/index.html四、配置Caddyfilenano /home/web/caddy/Caddyfile五、配置IP访问的静态页面【因上传软件原因, 可能出现乱码用不了 ,如安装后不起作用, 可把Caddyfile文件下载到本地编辑后再上传 】http:// { root * /usr/share/caddy encode gzip file_server }配置带域名的静态页面,下面都以“kjlion.com”为例kjlion.com { root * /usr/share/caddy encode gzip file_server }配置带域名的反向代理wp.kjlion.com { reverse_proxy 127.0.0.1:8080 encode gzip }配置带域名的重定向b.kjlion.com { redir https://baidu.com{uri} }配置带域名的php动态站点wp.kjlion.com { root * /usr/share/caddy/wordpress encode gzip php_fastcgi php:9000 file_server }六、部署caddydocker run -d --name caddy -p 80:80 -p 443:443 -p 443:443/udp -v /home/web/caddy/:/etc/caddy/ -v /home/web/html/:/usr/share/caddy/ --restart=always caddy:latest七、重启caddydocker restart caddy
2024年04月24日
21 阅读
0 评论
0 点赞
2024-04-08
linux删除文件夹命令使用方法
linux删除文件夹命令使用方法 在Linux中,删除目录中的文件夹和文件的方法其实很简单,使用rm -rf命令即可。一、删除文件夹实例:rm -rf /var/log/httpd删除/var/log/httpd目录以及其下所有文件、文件夹二、删除文件实例:rm -f /var/log/httpd/access.log这个将会强制删除/var/log/httpd/access.log这个文件注意:在linux中是没有设置回收站的,因此在使用rm命令的时候一定要小心些,删除之后的文件是无法恢复的。
2024年04月08日
21 阅读
0 评论
0 点赞
2024-03-11
VPS剩余价值计算器 V5.0
VPS剩余价值计算器 V5.0 本内容转载自: https://www.nodeseek.com/post-29398-1感谢 juhua大佬 修正了部分CSS错误改用js重写计算部分输出计算结果后原来输入的部分内容不会自动清除也就是说,现在可以脱离php环境运行了,直接另存为 shengyu.html后缀即可,甚至可以在本地用chrome直接打开该html文件即可运行 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>VPS交易计算器 V5.0</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h1 class="mb-4">VPS交易计算器</h1> <form id="calculatorForm"> <div class="form-group"> <label for="purchasePrice">续费价格:</label> <input type="number" class="form-control" id="purchasePrice" name="purchasePrice" step="0.01" required> </div> <div class="form-group"> <label for="tradePrice">交易价格:</label> <input type="number" class="form-control" id="tradePrice" name="tradePrice" step="0.01" required> </div> <div class="form-group"> <label for="currentDate">当前日期:</label> <input type="date" class="form-control" id="currentDate" name="currentDate" required> </div> <div class="form-group"> <label for="expiryDate">到期日期:</label> <input type="date" class="form-control" id="expiryDate" name="expiryDate" required> </div> <div class="form-group"> <label for="paymentFrequency">付款周期:</label> <select class="form-control" id="paymentFrequency" name="paymentFrequency" required> <option value="yearly">年付</option> <option value="halfyearly">半年付</option> <option value="quarterly">季付</option> <option value="monthly">月付</option> <option value="two-yearly">二两付</option> <option value="three-yearly">三年付</option> <option value="five-yearly">五年付</option> </select> </div> <button type="button" class="btn btn-primary" onclick="calculateRemainingValue()">计算剩余价值</button> </form> <div class="result mt-4" style="display: none;"> <h3>计算结果:</h3> <p>续费价格: <span id="resultPurchasePrice"></span></p> <p>剩余价值计算周期: <span id="resultPaymentFrequency"></span></p> <p>剩余价值: <span id="resultRemainingValue"></span></p> <p>交易价格: <span id="resultTradePrice"></span></p> <p>溢价金额: <span id="resultPremium"></span></p> <p>购买建议: <span id="resultAdvice"></span></p> </div> <div class="mt-4"> <h3>计算过程:</h3> <div class="accordion" id="calculationProcess"> <div class="card"> <div class="card-header" id="headingOne"> <h2 class="mb-0"> <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne"> 展开计算过程 </button> </h2> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#calculationProcess"> <div class="card-body" id="calculationDetails"> <!-- Calculation details will be displayed here --> </div> </div> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <script> function calculateRemainingValue() { // Retrieve input values const purchasePrice = parseFloat(document.getElementById("purchasePrice").value); const tradePrice = parseFloat(document.getElementById("tradePrice").value); const currentDate = new Date(document.getElementById("currentDate").value); const expiryDate = new Date(document.getElementById("expiryDate").value); const paymentFrequency = document.getElementById("paymentFrequency").value; // Calculate remaining days const remainingDays = Math.floor((expiryDate - currentDate) / (24 * 60 * 60 * 1000)); const remainingMonths = Math.floor(remainingDays / 30); // Calculate remaining value let paymentFrequency_ = ""; let remainingValue = 0; switch (paymentFrequency) { case "quarterly": paymentFrequency_ = "季付"; remainingValue = purchasePrice / 90 * remainingDays; break; case "yearly": paymentFrequency_ = "年付"; remainingValue = purchasePrice / 365 * remainingDays; break; case "halfyearly": paymentFrequency_ = "半年付"; remainingValue = purchasePrice / 180 * remainingDays; break; case "monthly": paymentFrequency_ = "月付"; remainingValue = purchasePrice / 30 * remainingDays; break; case "two-yearly": paymentFrequency_ = "二两付"; remainingValue = purchasePrice / (365 * 2) * remainingDays; break; case "three-yearly": paymentFrequency_ = "三年付"; remainingValue = purchasePrice / (365 * 3) * remainingDays; break; case "five-yearly": paymentFrequency_ = "五年付"; remainingValue = purchasePrice / (365 * 5) * remainingDays; break; } const premium = tradePrice - remainingValue; // Display results document.getElementById("resultPurchasePrice").textContent = purchasePrice; document.getElementById("resultPaymentFrequency").textContent = paymentFrequency_; document.getElementById("resultRemainingValue").textContent = remainingValue; document.getElementById("resultTradePrice").textContent = tradePrice; document.getElementById("resultPremium").textContent = premium; // Determine advice let advice = ""; if (premium > 0) { advice = "存在溢价,请君三思而后行"; } else if (premium < 0) { advice = "卖家血亏,快买,错过拍断大腿!"; } else { advice = "不议价,良心卖家!"; } document.getElementById("resultAdvice").textContent = advice; // Display calculation details const calculationDetails = ` <p>剩余月份:${remainingMonths} 个月(剩余天数:${remainingDays} 天)</p> <p>剩余价值 = 历史购买价格 / ${paymentFrequency === 'yearly' ? 365 : (paymentFrequency === 'halfyearly' ? 180 : (paymentFrequency === 'quarterly' ? 90 : (paymentFrequency === 'monthly' ? 30 : (paymentFrequency === 'two-yearly' ? 730 : (paymentFrequency === 'three-yearly' ? 1095 : 1825)))))} * 剩余天数</p> <p>剩余价值 = ${purchasePrice} / ${paymentFrequency === 'yearly' ? 365 : (paymentFrequency === 'halfyearly' ? 180 : (paymentFrequency === 'quarterly' ? 90 : (paymentFrequency === 'monthly' ? 30 : (paymentFrequency === 'two-yearly' ? 730 : (paymentFrequency === 'three-yearly' ? 1095 : 1825)))))} * ${remainingDays} = ${remainingValue}</p> `; document.getElementById("calculationDetails").innerHTML = calculationDetails; // Show the result section document.querySelector(".result").style.display = "block"; } </script> </body> </html>
2024年03月11日
22 阅读
0 评论
0 点赞
1
...
12
13
14
...
16