【服务器】搭建Yourls短链接服务
AI摘要:
文章详细介绍了使用docker-compose部署Yourls的步骤。首先,在宝塔后台的php项目中添加了用于承载Yourls的网站,申请了Let's Encrypt SSL证书并开启了强制HTTPS。然后,通过docker-compose.yml配置文件定义了MySQL和Yourls两个服务的容器,分别用于数据库和Yourls应用。通过指定环境变量、端口映射等配置了容器的运行参数,并使用docker-compose up -d命令拉取镜像并上线容器。接着,通过设置反代和目录禁止访问,完成了网站域名访问。在安装Yourls后,还介绍了如何汉化和优化容器内的网站。此外,文章还提供了非容器方式部署Yourls的步骤,包括在宝塔面板添加站点、下载源代码、配置伪静态等。整体而言,文章详细而清晰,适合初学者学习。
(使用docker-compose部署)
- 在宝塔后台php项目添加用以承载Yourls的网站(无需数据库,以ornm.cc为例),申请Let's Encrypt ssl证书并开启强制https。
在网站目录下新建docker-compose.yml并编辑入以下配置文件:
version: "3.5" services: mysql: image: mysql:5.7.22 # 如果遇到不正确的数据库配置,或无法连接到数据库PDOException: SQLSTATE[HY000] [1045] 用户'yourls'@'yourls_service.yourls_default'的访问被拒绝(使用密码:是) 可以把5.7.22 改为 5.7 environment: - MYSQL_ROOT_PASSWORD=my-secret-pw - MYSQL_DATABASE=yourls - MYSQL_USER=yourls - MYSQL_PASSWORD=yourls volumes: - ./mysql/db/:/var/lib/mysql - ./mysql/conf/:/etc/mysql/conf.d restart: always container_name: mysql yourls: image: yourls restart: always ports: - "8200:80" environment: YOURLS_DB_HOST: mysql YOURLS_DB_USER: yourls YOURLS_DB_PASS: yourls YOURLS_DB_NAME: yourls YOURLS_USER: zly # 自己起一个名字 YOURLS_PASS: ZLY@20020606i # 自己换一个登陆密码 YOURLS_SITE: https://ornm.cc # 换成你自己的域名 YOURLS_HOURS_OFFSET: 8 volumes: - ./yourls_data/:/var/www/html container_name: yourls_service links: - mysql:mysql
- 确认该服务使用的8200端口无占用后,进入文件目录使用
docker-compose up -d
拉取镜像上线容器。 - 设置反代并设置目录禁止访问即可完成网站域名访问,登录https://设置的域名/admin 完成后续安装。
- 下载并解压汉化包到映射目录的./yourls_data/user/languages位置,赋予文件root用户644权限。
- 修改./yourls_data/user/config.php,将
define( 'YOURLS_LANG', getenv('YOURLS_LANG') ?: '' );
空白语言设定改为define( 'YOURLS_LANG', getenv('YOURLS_LANG') ?: 'zh_CN' );
,顺便修改同一条链接对应多个短链接配置,将define( 'YOURLS_UNIQUE_URLS', getenv('YOURLS_UNIQUE_URLS') === false ?: filter_var(getenv('YOURLS_UNIQUE_URLS'), FILTER_VALIDATE_BOOLEAN) );
中false改为true。 - 进入后台Manage Plugins,激活第一个(Allow Hyphens in Short URLs)插件。
- 使用
docker-compose restart
重启容器即可。
docker部署容器优化
1.使用docker部署的容器内网站根目录没有index主页,直接访问会显示“Forbidden You don't have permission to access this resource.”,需要创建一个index.html。而容器内debian11系统没有安装vi,直接用apt安装会出现E: Unable to locate package vi
,需要换源后安装。
2.首先备份软件源文件mv /etc/apt/sources.list /etc/apt/sources.list.bak
3.通过命令行换源
echo "deb https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free" >/etc/apt/sources.list
echo "deb-src https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free" >>/etc/apt/sources.list
4.apt-get update
后即可安装vim等软件。
非容器方式部署
- 在宝塔面板添加一个站点用以安装yourls,需要数据库,并开启ssl。
在伪静态设置如下内容:
location / { try_files $uri $uri/ /yourls-loader.php$is_args$args; }
- 前往项目地址下载source code (zip),并上传至网站目录解压。
- 将/user/文件夹中的config-sample.php改名为config.php,填写其中相关内容,访问/域名/admin/完成安装即可。
- cookiekey可访问[此网址}(http://api.yourls.org/services/cookiekey/1.0/)随机生成
- 中文语言代码zh_CN,汉化包
参考
- https://blog.laoda.de/archives/docker-compose-install-yourls
- https://blog.laoda.de/archives/yourls-building
本站所有原创文章版权所有,禁止转载,欢迎转发文章链接,参考请标明出处并连接到本站相应页面。所有注明的转载内容版权归原作者所有,如不慎侵权请原作者联系本站删除。