Ubuntu 22.04部署小记

又快到了阿里云的续费时间,由于工作内容的变化,除了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 安装之 硬盘未完全使用

Linux VG扩展新增硬盘并新建文件系统

Ubuntu 20.04 逻辑分区(LVM)扩容

 

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-compose下载太慢解决方法

docker使用遇到问题Got permission denied while trying to connect to the Docker daemon socket

 修改 Docker 的默认存储路径

Docker数据目录迁移解决方案

 

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 完美合作

 

posted @ 2023-02-26 23:27  永远的阿哲  阅读(295)  评论(0编辑  收藏  举报