首页
留言板
友链
关于
推荐
wszx博客
Search
1
部署MJJ自己的信息聚合站 —— rss-reader改版搭建~(内含详细步骤)
1 阅读
2
Caddy2的安装与使用,轻松实现反向代理和重定向
1 阅读
3
用docker-compose 搭建 兰空图床
1 阅读
4
用Cloudflare轻松搭建Uptime-Flare监控服务!实时掌握网站状况!
1 阅读
5
欢迎使用 Typecho
0 阅读
默认
日常
学习
技术
登录
Search
标签搜索
安装
cloudflare
CF
壁纸
图片
白嫖
docker
脚本
Linux
Caddy
代码
域名
桌面壁纸
手机壁纸
NAT
LXC
HTML
网页
vps
哪吒
ws01
累计撰写
73
篇文章
累计收到
5
条评论
首页
栏目
默认
日常
学习
技术
页面
留言板
友链
关于
推荐
wszx博客
搜索到
47
篇与
的结果
2024-04-26
用 frankenphp+mysql 快速搭建一个高性能的网站-1!
用 frankenphp+mysql 快速搭建一个高性能的网站-1! 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日
0 阅读
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日
0 阅读
0 评论
0 点赞
2024-04-09
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月09日
0 阅读
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/
[email protected]
/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日
0 阅读
0 评论
0 点赞
2024-03-10
分享几个github加速,需要的自取
分享几个github加速,需要的自取 本文转载自:https://www.nodeseek.com/post-77725-1HK https://gh.mzec.top/ https://gh.mixyun.cyou/ http://119.28.4.250/ KR https://git.domob.org/ http://www.subook.link:88/ http://152.67.215.57:8081/ http://138.2.123.193:8090/ http://52.78.23.245:9999/ http://193.123.237.163:8080/ JP https://uhk.corpa.me/ https://ghproxy.053000.xyz/ http://176.119.149.164:8110/ http://38.47.124.28:8080/ http://185.184.223.102:8880/ http://141.147.171.213:8888/ http://152.69.198.119:8000/ US http://212.50.233.214:8888/ https://gh.nxnow.top/ 打开网站:https://mirror.ghproxy.com/
2024年03月10日
0 阅读
0 评论
0 点赞
1
...
6
7
8
...
10
您是第
133892
位访客