














好久之前就想去淄博了,终于在五月二十日来啦
烧烤好好吃,价格也很实惠,我俩一共花了110还没吃完!
今天突然想做一个自助建站系统,就是可以让用户简单填写一个表单输入站点信息,然后自动创建一个网站,搞了半天踩了很多坑终于实现了一个小demo
这次是用的typecho做实验,使用bash脚本编写,当然搞了半天主要不是脚本的问题,而是环境的问题,先来看看脚本,是比较简单的。
#!/bin/bash
# 设置变量
domain="test.oi.ink" # 替换为你的域名
nginx_conf="/etc/nginx/sites-available/${domain}" # Nginx 配置文件路径
nginx_link="/etc/nginx/sites-enabled/${domain}" # Nginx 软链接路径
webroot="/var/www/${domain}" # 网站根目录
typecho_file="typecho.zip" # Typecho 压缩包文件名
# 创建网站目录
echo "正在创建网站目录..."
sudo mkdir -p "${webroot}"
# 解压 Typecho 到网站目录
echo "正在解压 Typecho..."
sudo unzip -d "${webroot}" "${typecho_file}"
# 修改文件权限
echo "正在设置文件权限..."
sudo chown -R www-data:www-data "${webroot}"
sudo chmod -R 755 "${webroot}"
# 创建 Nginx 配置文件
echo "正在创建 Nginx 配置文件..."
sudo bash -c "cat > ${nginx_conf}" <<EOL
server {
listen 80;
server_name ${domain};
root ${webroot};
index index.php index.html index.htm;
location / {
try_files \$uri \$uri/ /index.php\$is_args\$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据你的 PHP 版本进行调整
}
}
EOL
# 创建 Nginx 软链接
echo "正在创建 Nginx 软链接..."
sudo ln -s "${nginx_conf}" "${nginx_link}"
# 重启 Nginx
echo "正在重启 Nginx..."
sudo service nginx restart
# 创建数据库
dbname="test"
dbuser="test"
dbpass="asdasdasdg"
mysql -u root -p -e "CREATE DATABASE $dbname"
# 创建用户并授权
mysql -u root -p -e "CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$dbpass'"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON $dbname.* TO '$dbuser'@'localhost'"
echo "数据库 '$dbname' 已成功创建,并授权用户 '$dbuser' 可访问。"
echo "完成!Typecho 站点已成功创建。"
echo "数据库信息:"
echo "数据库名:$dbname"
echo "数据库用户:$dbuser"
echo "数据库密码:$dbpass"
然后我是在本地的WSL子系统中测试的,在配置环境时出现了很多坑
首先是数据库,安装了N次MySql都不可以,每次都会有ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)的错误提示,在网上找了很多资料和解决方案全试了还是有问题,应该是WSL的锅,最后换了Mariadb,一次完美装上,丝滑。
然后是PHP的坑,最后莫名其妙的好了,配置Nginx的站点的时候整合PHP,每次网站都无法访问,最后怎么好了的我也没搞明白,配置文件总感觉没有问题~~~
然后!下面就是脚本执行成功后正常打开啦网站,这里对typecho的安装文件进行一些修改,打开数据库配置那步的页面时会自动获取本次创建的数据库来继续安装。
Docker部署是我们最推荐的部署方式,Moments最新版本都会第一时间在dockerhub中发布,当您的机器安装Docker后一句话既可部署本项目。
本篇教程包含:Docker安装,Moment部署,反向代理域名绑定
您可以根据需要跳过期中的某些步骤!点击可快速跳转
如果您使用了宝塔面板可直接在导航中选择 docker 页面根据提示自动安装即可
关于其他系统的安装方式(官方文档):
1.Centos:Install Docker Engine on CentOS | Docker Documentation
2.Debian:Install Docker Engine on Debian | Docker Documentation
3.Ubuntu:Install Docker Engine on Ubuntu | Docker Documentation
当您的设备中已经安装并且启动Docker后,在终端执行以下内容:
docker run -d \
--name moments \
-p 3000:80 \
-v moments:/app \
drizzle2001/moments
-p 3000是指本机端口,可以修改为其他任意不冲突的端口号
运行成功后,服务器开放3000端口即可访问 http://ip:3000
关于时区,可以在容器内执行,切换时区为东八区,重启容器即可。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
为您的朋友圈绑定一个域名,推荐使用 nginx
如果您是宝塔用户可以直接创建一个静态网站绑定域名,然后设置反向代理
其他反向代理,Nginx配置参考:Nginx配置反向代理,一篇搞定! – 知乎 (zhihu.com)
其他问题欢迎留言,可以提供免费代搭建支持
这是新的Moments,界面仿照了微信朋友圈~
欢迎体验:https://moments.shiyu.dev/
另外友链方面也进行一些优化,之前是通过iframe嵌套显示友链,现在改成了API接口的形式,体验更佳。
这里是四月!
二十八日
时间过的太快啦!这三天好像一阵风,呼呼的飞快的吹了过去。今天刘兰婷就要回家了,呜呜每次分开的时候都好不舍嘛。
早上我有一节结课的课所以一大早先去了学校上课,回来已经到了中午,吃完午饭,大概就要去高铁站了。中午在街上看到了梅花糕,是之前从来没吃过的东西,今天尝了尝感觉味道还挺一般的,没有预想的那么好吃!然后我俩逛着逛着又买了梅干菜扣肉饼和卷凉皮,刘兰婷饭量小,吃完饼就饱了,我又吃了个卷凉皮,腻腻的,可恶,这个街上的东西怎么都不是很好吃。
吃饱了找了家咖啡店坐着,刘兰婷喝的好长一串的名字的咖啡我记不清啦,我喝了生耶拿铁,很奇怪我不管喝茶还是喝咖啡都不影响睡觉,喝完倒头就能睡着,但是刘兰婷每次喝完都会睡不着。我也想有喝完就提神的能力!
坐了一会,就要走啦,到高铁站门口,遇见了一群高三的学生,好像是在夏令营,好年轻啊他们~
二十七日
这天去了太阳部落,我们早就想去啦这一天终于去啦,但是二十七号我有操作系统课,很大概率会期中考试,我就赌了一下应该不考,结果十点的时候,我们在路上收到了期中考试的通知,那只能速通啦,下午一点回去还能赶上两点的考试。
我之前也去过,但是没怎么玩里面的项目,特别是比较刺激的。这次玩到了水龙王,后裔射日,上面的那个图就是后羿射日项目,我是网上找的图啦,自己玩的时候根本不敢拍照,我有点恐高而且容易晕,玩完这个直接快寄了,直接走不动路啦,刘兰婷拖着我歇了会才能走路,呜呜太恐怖了,玩的时候根本不敢看下面,刘兰婷还笑话我!
水龙王好好玩,但是我湿透啦,这个破雨衣比垃圾袋质量还差!
下午回去考试的时候还是晕晕的想吐,好难受,考完赶紧回去睡了一觉,晚上一起去吃半天妖~
二十六日
今天下午刘兰婷放假啦,到来的时候已经晚上八点了,安顿下来就九点多了,晚上点了个外卖,边看电视边吃,长月烬明真的有点好看,我俩看到了凌晨三点!
呜呜就睡了3小时,第二天要去太阳部落啦。
二十三日
今天蓝桥杯省赛结果出来了,还是省一,感觉难度一年比一年大了,疫情过去了,国赛也变成线下啦,希望这次国赛能有更好的等级!