LNMP
do的LNMP安装教程,在ubuntu22.04上安装mysql要注意不同的地方。nginx可以使用官方的repo来安装,ubuntu源里的一般不是最新的。安装nginx时可能遇到的error,chown: invalid group: ‘root:adm’
,手动添加adm
group即可。
数据恢复
mysql -u root -p < backup.sql
创建www用户
nginx,php最好不要用root用户,可以将其统一为www用户,同时禁止其login shell。
useradd www
usermod www -s /sbin/nologin
修改nginx配置文件/etc/nginx/nginx.conf
user www www;
修改php的配置文件/etc/php/8.1/fpm/pool.d/www.conf
user = www
group = www
listen.owner = www
listen.group = www
nginx配置
从ubuntu源里安装的nginx,一般有site-available和site-enabled两个目录。将要开启的网站配置文件在site-enabled里建立对应在site-available文件的软连接即可。从nginx源里安装的版本,site-enabled被替换成了conf.d目录。
在nginx目录下,可以下载如下几个样例文件以便开启对php的支持。
https://github.com/nginx/nginx/tree/master/conf
enable-php.conf
location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
nginx配置文件location的一些例子
# findhao.net/feed rewrite为findhao.net/feed.xml
location ~ /feed {
try_files $uri $uri.xml ;
}
# findhao.net/res/2604 rewrite为findhao.net/res/2604.html
location ~ /.*/\d+ {
try_files $uri $uri.html;
}
不同网站的配置
typecho 需要在conf里开启php-path-info。
flarum的error log在site/storage/logs/
下。
服务器备份脚本
脚本地址
修改了teddysun的脚本,将加密压缩工具改为7z,速度更快,压缩率更高,解压更方便。使用前需要修改前面部分的配置。
可以通过crontab -e
添加到linux定时任务列表。
# 每天早上四点执行脚本
00 4 * * * /root/backup.sh
重要的配置解释:
ENCRYPTFLG=true 加密备份
BACKUPPASS="encrypt_password" 加密密码
LOCALDIR="/root/backup/" 备份文件存放目录
TEMPDIR="/root/backup/temp/" 备份临时文件存放目录
LOGFILE="/root/backup/backup.log" 日志文件
MYSQL_ROOT_PASSWORD="" 数据库root用户的密码
MYSQL_DATABASE_NAME[0]="" 要备份的数据库名,如果留空则备份所有数据库
BACKUP[0]="/data/www/findhao.net" 要备份的文件夹
LOCALAGEDAILIES="14" 备份文件保留天数(远程目录和本地的备份是同步的)
DELETE_REMOTE_FILE_FLG=true 是否删除远程备份文件
RCLONE_NAME="siteback" rclone配置文件里的name,可以通过rclone config查看
RCLONE_FOLDER="/" 远程目录,在使用rclone添加google drive时,可以指定rclone只能访问某个目录,具体请参考rclone文档。如果限制了rclone只能访问某个目录,那么这里直接设置为`/`即可。
BAIDUPAN_FOLDER="/site-backup-rack" 百度网盘目录。baidupcs-go无法设置只能访问某个目录,所以这里需要指定百度网盘具体的目录
BACKUP_EXE="rclone" 备份工具,可以选择rclone或者baidupcs-go
Comments