又快到了阿里云的续费时间,由于工作内容的变化,除了rss阅读外,之前大部分使用的服务目前已不再使用,近期好哥们为我免费提供了一台消费级虚拟机用于替代付费云主机,初步评估也能满足我当下的需求。现将相关部署过程记录如下。
10.安装常用工具
sudo apt install zip unzip screen nmon ne alex rsync
20.确认源设置
sudo ne /etc/apt/sources.list
可以看到,目前已将源指向了阿里镜象自己,这也是最快的选择,所以不需要作任何修改
更新软件源
sudo apt update
升级软件
sudo apt upgrade
sudo apt full-upgrade
30.调整内存参数,内存使用超90%时启用虚拟内存
sudo sysctl vm.swappiness=10
打开配置文件
sudo ne /etc/sysctl.conf
将上述参数修改配置文件后,保存
vm.swappiness = 10
40.让SSH在screen中会话,保证稳定性
ne ~/.profile
在文件最后添加
screen -d -RR
退出当前会话后重新连接,后续都在screen中作业
50.ne设置
Tab Size:4
Tabs as Spaces:on
Auto Indent:on
...
Save Def Prefs
55.添加第二填硬盘
将新硬盘追加至现有lvm,然后创新逻辑卷作为第二块硬盘挂载至/opt
echo '/dev/ubuntu-vg/opt /opt ext4 defaults 0 0' >> /etc/fstab && mount -a
使用下述命令,可以将卷组中的剩余空间追加至指定的逻辑卷中。
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
resize2fs /dev/ubuntu-vg/ubuntu-lv
Linux LVM分区之VG扩容、LV扩容、LV缩减、LVM快照
Ubuntu 20.04 Server 安装之 硬盘未完全使用
60.安装LAMP套件
sudo apt install apache2
sudo apt install mysql-server
sudo apt install php libapache2-mod-php php-mysql
Install a LAMP Stack on Ubuntu 22.04
70.变更mysql数据库存放目录
停止mysql服务
sudo systemctl stop mysql
数据库默认存放在/var/lib/mysql目录下,我将其同步到新的目录下
sudo cp -av /var/lib/mysql /opt/mysqldata
修改配置文件,将数据文件定位到新的目录中
sudo ne /etc/mysql/mysql.conf.d/mysqld.cnf
修改datadir为新的目录
datadir = /opt/mysqldata
配置apparmor安全设置
sudo ne /etc/apparmor.d/tunables/alias
增加目录别名
alias /var/lib/mysql/ -> /opt/mysqldata/,
重启apparmor服务
sudo systemctl restart apparmor
将原目录重命名备份
sudo mv /var/lib/mysql /var/lib/mysql.bak
创建一个空目录满足脚本检查
sudo mkdir /var/lib/mysql/mysql -p
最后,重启服务即可
sudo systemctl start mysql
How To Move a MySQL Data Directory to a New Location on Ubuntu 16.04
80.安装phpMyAdmin
sudo apt install phpmyadmin
查看mysql 8 维护账户与随机密码
sudo cat /etc/mysql/debian.cnf
使用维护账户登录
mysql -u debian-sys-maint -p
修改root密码
update user set authentication_string ='' where user='root';
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
Ubunto20.04安装MySQL并修改root用户密码(Linux安装mysql root用户无法登陆)
90.安装docker环境
参考下面文章安装,本文书写时为2.16.0。如果docker-compose下载太慢,可更换下载地址
sudo axel -n 10 -o /usr/local/bin/docker-compose "https://get.daocloud.io/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)"
将当前用户加入docker组,规避权限不足
sudo gpasswd -a $USER docker
newgrp docker
更换存储目录至数据盘
sudo touch /etc/docker/daemon.json
sudo ne /etc/docker/daemon.json
配置如下
{
"data-root": "/opt/docker"
}
在目标目录创建此文件夹
sudo mkdir /opt/docker
如果之前已存在镜像,还需迁移至此目录
sudo rsync -avzP /var/lib/docker/ /opt/docker/
如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose
docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket
100.安装tt-rss阅读器
cd ~
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git ttrss-docker
cd ttrss-docker
git checkout static-dockerhub
cp .\env-dist .env
ne .env
按实际情况修改ip地址,并允许网络访问
TTRSS_SELF_URL_PATH=http://192.168.192.254:8280/tt-rss
HTTP_PORT=8280
延长rss源读取时间,适应部分较慢较大的rss
TTRSS_FEED_FETCH_TIMEOUT=150
TTRSS_FEED_FETCH_NO_CACHE_TIMEOUT=200
TTRSS_FILE_FETCH_TIMEOUT=160
TTRSS_FILE_FETCH_CONNECT_TIMEOUT=210
宿主机做端口映射,使外部应用可访问数据库
ne docker-compose.yml
为db添加端口映射
ports:
- 5432:5432
最后启动镜像
docker-compose pull && docker-compose up -d
查看app容器日志中生成的随机密码,使用admin访问即可
docker-compose logs app
应用随docker自启很不稳定,需创建自启服务
sudo touch /usr/lib/systemd/system/ttrss.service
sudo ne /usr/lib/systemd/system/ttrss.service
内容如下
[Unit]
Description=ttrss
After=network.target
[Service]
Type=forking
RemainAfterExit=yes
ExecStartPre=/usr/local/bin/docker-compose -f /home/ljzforever/ttrss-docker/docker-compose.yml down
ExecStart=/usr/local/bin/docker-compose -f /home/ljzforever/ttrss-docker/docker-compose.yml up -d
ExecReload=/usr/local/bin/docker-compose -f /home/ljzforever/ttrss-docker/docker-compose.yml restart
ExecStop=/usr/local/bin/docker-compose -f /home/ljzforever/ttrss-docker/docker-compose.yml down
[Install]
WantedBy=multi-user.target
应用此服务
sudo systemctl enable ttrss.service
Dockerized tt-rss using docker-compose
docker容器映射tcp或udp端口-通过docker-compose.yml
curl错误28:Resolving timed out after 15009 milliseconds解决方案
PHP 几种常见超时的设置方法
cURL 超时设置:CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别
Docker搭建Postgresql数据库
Docker 搭建 PHP 运行环境
Systemd 入门教程:命令篇
systemd配置docker-compose命令
通过 systemctl 设置自定义 Service
Ubuntu20.04开机运行自定义脚本
Ubuntu20.04开机自启
110.安装青龙面板
mkdir ~/qinglong
cd ~/qinglong
axel -n 10 https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml
最后启动镜像
docker-compose up -d
加入rc.local实现开机自启
sudo ne /etc/rc.local
添加内容如下
/usr/local/bin/docker-compose -f /home/ljzforever/qinglong/docker-compose.yml up -d
whyour/qinglong
120.安装nextcloud
从官网复制docker配置,复用ttrss的pg库
version: '2'
volumes:
nextcloud:
services:
app:
image: nextcloud
restart: always
ports:
- 8080:80
volumes:
- nextcloud:/var/www/html
extra_hosts:
- "host.docker.internal:host-gateway"
启动镜像,然后按界面提示配置管理员账号,PG数据库访问账密即可,使用`host.docker.internal`访问宿主机端口
docker-compose up -d
外部应用访问网盘的地址如下,建议创建专用文件夹,否则文件上传后将散落在网盘根目录。
http://192.168.192.254:8080/remote.php/dav/files/用户名/专用文件夹
docker webdav_简单三步,教你用docker搭建一个私有云盘
running-this-image-with-docker-compose
Docker container容器内访问宿主机host服务
NextCloud 和 Joplin 完美合作