#### 起因 由于家里出现过几次偶发性断电导致NAS闪断重启,然后急急忙忙地跟家里人商量着要买个UPS顶上防止数据丢失,加上本身就是DDNS+域名提供一些服务,恰逢腾讯云搞新春活动,就干脆租了一个国内的轻量应用服务器作为替代。 #### 配置 ```plaintext CPU: 4核 (原本是2核, 后来免费升级) 内存: 4G 硬盘:8G SSD + 500G "高性能"云硬盘 (为网盘多加的) 带宽: 8Mbps 流量: 1200G/月 ``` #### 个人博客 一开始在选择博客平台的时候,了解到了很多,最终选择了hexo,没有别的原因,白嫖github pages,完全免费。但是这种免费往往是有代价的,也就是学习成本和维护麻烦,再加上github访问困难,后来想想索性就把博客换成typecho,带web后台管理,也能简单实现评论功能,方便管理。 [post cid="33" cover="" size=""/] #### 图床 博客里的图片虽然都改成了本地相对引用脱离了NAS公网访问,但同样因为github访问不稳定导致不稳定。既然都上了云服务器,干脆做个个人图床。 [post cid="30" cover="" size=""/] #### Seafile同步网盘 原本在NAS上用Docker容器在跑的Seafile网盘也顺便搬到服务器上,只用来同步部分工作文件,软件资源等等,方便随时调用 [post cid="27" cover="" size=""/] #### 记录 ##### 应用环境 ###### Nginx ```bash sudo apt install nginx # 查看版本 nginx -v ``` ###### Mariadb ```bash sudo apt install mariadb-server sudo systemctl status mariadb sudo systemctl enable mariadb ``` ###### PHP ```bash # 获取sury.org的gpg key sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # 添加PHP仓库 sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list # 安装相关扩展 sudo apt install php7.4-{fpm,curl,gd,imagick,mbstring,mysql,zip} # 查看版本 php -v ``` 修改 `/etc/php/7.4/fpm/php.ini` ```ini ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension=curl extension=mbstring extension=mysqli extension=pdo_mysql ``` ###### JAVA ``` sudo apt install default-jdk # 查看版本 java -version ``` ###### Elasticsearch ```bash # 导入gpg key wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg # 添加v7.x软件源列表 sudo echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list # 安装apt-transport-https sudo apt-get install apt-transport-https # 安装 sudo apt-get update && sudo apt-get install elasticsearch ``` 配置 ```plaintext # 1. /etc/elasticsearch/elasticsearch.yml ## 数据存放路径 path.data: /data/elasticsearch-data ## 其他相关参数 bootstrap.memory_lock: true discovery.type: single-node xpack.security.enabled: true # 2. /etc/elasticsearch/jvm.options.d/xxx.options ## 添加内存占用限制 -Xms256m -Xmx256m # 3. /etc/elasticsearch/log4j2.properties ``` ###### Zerotier ```bash curl -s https://install.zerotier.com/ | sudo bash ``` 配置moon节点 ```bash cd /var/lib/zerotier-one sudo zerotier-idtool initmoon identity.public > moon.json ``` 记住 `moon.json`里的id,一般为000000xxx.moon 将 `stableEndpoints`后面的IP和端口改为当前服务器的固定公网IP和所用端口,默认端口为9993 ```bash # 根据 moon.json 生成 网络ID.moon sudo zerotier-idtool genmoon moon.json # 放入指定位置 sudo mkdir moons.d sudo mv 000000xxxxxxxxxx.moon ./moons.d # 重启zerotier systemctl restart zerotier-one ``` ##### 常用指令 ###### tar ```bash # 只归档不压缩可去掉 -z # 打包并压缩成zip tar -czf filename file1 file2 dir1 dir2.. # 解压缩zip tar -xzf filename -C exdir # 解压缩zip unzip filename -d exdir ``` ###### apt ```bash # 检查更新包 apt update # 更新软件 apt upgrade # 安装软件(-y 自动确认) apt install -y mariadb ``` ###### netstat ```bash # 查看所有占用监听的端口程序 netstat -anp # 利用grep筛选 netsta -anp | grep mariadb # 加上-t或-u查询tcp或udp netstat -antp或-anup ``` ###### systemctl ```bash # 启动/停止/重启/启用(开机启动)/禁用(关闭开机启动)服务 systemctl start/stop/restart/enable/disable mariadb ``` ###### 硬盘/分区/挂载 ```bash # 查看当前挂载点情况(-T 显示文件系统; -h 容量显示转换为M,G,T,P格式) df -Th # 查看物理硬盘以及分区信息 fdisk -l # 格式化硬盘或分区为ext4文件系统 mkfs -t ext4 /dev/vdb1 # 硬盘分区 fdisk /dev/vdb ## fdisk后续按不同按钮实现不同功能 d 删除分区 l 列出已知分区类型 n 添加分区 p 列出分区表 q 不保存退出 t 修改分区类型 w 写入分区表(保存)并退出 # 挂载分区到指定路径(e.g /dev/vdb1分区挂载到/data) mount /dev/vdb1 /data # 查看分区UUID blkid ls -l /dev/disk/by-uuid # fstab添加信息实现开机自动挂载 UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data /ext4 defaults 0 0 ``` ###### Nginx ```bash # 测试配置文件 nginx -t # 重载配置并重启 nginx -s reload ``` php-fpm(fastcgi) ```nginx # 调用php-fpm处理.php文件 location ~* \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } ``` ###### Zerotier 加入指定ID的网络 ```bash zerotier-cli join 网络ID ``` 客户端添加Moon节点 ```bash zerotier-cli orbit ``` 客户端退出Moon节点 ```bash zerotier-cli orbit ``` Loading... #### 起因 由于家里出现过几次偶发性断电导致NAS闪断重启,然后急急忙忙地跟家里人商量着要买个UPS顶上防止数据丢失,加上本身就是DDNS+域名提供一些服务,恰逢腾讯云搞新春活动,就干脆租了一个国内的轻量应用服务器作为替代。 #### 配置 ```plaintext CPU: 4核 (原本是2核, 后来免费升级) 内存: 4G 硬盘:8G SSD + 500G "高性能"云硬盘 (为网盘多加的) 带宽: 8Mbps 流量: 1200G/月 ``` #### 个人博客 一开始在选择博客平台的时候,了解到了很多,最终选择了hexo,没有别的原因,白嫖github pages,完全免费。但是这种免费往往是有代价的,也就是学习成本和维护麻烦,再加上github访问困难,后来想想索性就把博客换成typecho,带web后台管理,也能简单实现评论功能,方便管理。 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.zakikun.com/archives/33.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.zakikun.com/usr/themes/handsome/assets/img/sj/2.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Debian11部署typecho(博客迁移)</p> <div class="inster-summary text-muted"> 前言之前一直用的是Hexo,纯静态博客胜在节省,随便找一个托管平台就行,比如Github。缺点也很明显,访问速度完... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> #### 图床 博客里的图片虽然都改成了本地相对引用脱离了NAS公网访问,但同样因为github访问不稳定导致不稳定。既然都上了云服务器,干脆做个个人图床。 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.zakikun.com/archives/30.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.zakikun.com/usr/themes/handsome/assets/img/sj/2.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Debian11部署chevereto-china(v3改版)</p> <div class="inster-summary text-muted"> 官方链接 官方文档民间China版网站链接 (实际下载地址已被官方以DMCA干掉了)Github (已被官方以DM... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> #### Seafile同步网盘 原本在NAS上用Docker容器在跑的Seafile网盘也顺便搬到服务器上,只用来同步部分工作文件,软件资源等等,方便随时调用 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.zakikun.com/archives/27.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://blog.zakikun.com/usr/themes/handsome/assets/img/sj/2.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">Debian11部署Seafile专业版</p> <div class="inster-summary text-muted"> 早在2020年,我写过了基于Docker的最近因为租了3年轻量应用服务器,顺便就把网盘也搬过来。部署环境系统: D... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> #### 记录 ##### 应用环境 ###### Nginx ```bash sudo apt install nginx # 查看版本 nginx -v ``` ###### Mariadb ```bash sudo apt install mariadb-server sudo systemctl status mariadb sudo systemctl enable mariadb ``` ###### PHP ```bash # 获取sury.org的gpg key sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg # 添加PHP仓库 sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list # 安装相关扩展 sudo apt install php7.4-{fpm,curl,gd,imagick,mbstring,mysql,zip} # 查看版本 php -v ``` 修改 `/etc/php/7.4/fpm/php.ini` ```ini ;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions ; ;;;;;;;;;;;;;;;;;;;;;; extension=curl extension=mbstring extension=mysqli extension=pdo_mysql ``` ###### JAVA ``` sudo apt install default-jdk # 查看版本 java -version ``` ###### Elasticsearch ```bash # 导入gpg key wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg # 添加v7.x软件源列表 sudo echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list # 安装apt-transport-https sudo apt-get install apt-transport-https # 安装 sudo apt-get update && sudo apt-get install elasticsearch ``` 配置 ```plaintext # 1. /etc/elasticsearch/elasticsearch.yml ## 数据存放路径 path.data: /data/elasticsearch-data ## 其他相关参数 bootstrap.memory_lock: true discovery.type: single-node xpack.security.enabled: true # 2. /etc/elasticsearch/jvm.options.d/xxx.options ## 添加内存占用限制 -Xms256m -Xmx256m # 3. /etc/elasticsearch/log4j2.properties ``` ###### Zerotier ```bash curl -s https://install.zerotier.com/ | sudo bash ``` 配置moon节点 ```bash cd /var/lib/zerotier-one sudo zerotier-idtool initmoon identity.public > moon.json ``` 记住 `moon.json`里的id,一般为000000xxx.moon 将 `stableEndpoints`后面的IP和端口改为当前服务器的固定公网IP和所用端口,默认端口为9993 ```bash # 根据 moon.json 生成 网络ID.moon sudo zerotier-idtool genmoon moon.json # 放入指定位置 sudo mkdir moons.d sudo mv 000000xxxxxxxxxx.moon ./moons.d # 重启zerotier systemctl restart zerotier-one ``` ##### 常用指令 ###### tar ```bash # 只归档不压缩可去掉 -z # 打包并压缩成zip tar -czf filename file1 file2 dir1 dir2.. # 解压缩zip tar -xzf filename -C exdir # 解压缩zip unzip filename -d exdir ``` ###### apt ```bash # 检查更新包 apt update # 更新软件 apt upgrade # 安装软件(-y 自动确认) apt install -y mariadb ``` ###### netstat ```bash # 查看所有占用监听的端口程序 netstat -anp # 利用grep筛选 netsta -anp | grep mariadb # 加上-t或-u查询tcp或udp netstat -antp或-anup ``` ###### systemctl ```bash # 启动/停止/重启/启用(开机启动)/禁用(关闭开机启动)服务 systemctl start/stop/restart/enable/disable mariadb ``` ###### 硬盘/分区/挂载 ```bash # 查看当前挂载点情况(-T 显示文件系统; -h 容量显示转换为M,G,T,P格式) df -Th # 查看物理硬盘以及分区信息 fdisk -l # 格式化硬盘或分区为ext4文件系统 mkfs -t ext4 /dev/vdb1 # 硬盘分区 fdisk /dev/vdb ## fdisk后续按不同按钮实现不同功能 d 删除分区 l 列出已知分区类型 n 添加分区 p 列出分区表 q 不保存退出 t 修改分区类型 w 写入分区表(保存)并退出 # 挂载分区到指定路径(e.g /dev/vdb1分区挂载到/data) mount /dev/vdb1 /data # 查看分区UUID blkid ls -l /dev/disk/by-uuid # fstab添加信息实现开机自动挂载 UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data /ext4 defaults 0 0 ``` ###### Nginx ```bash # 测试配置文件 nginx -t # 重载配置并重启 nginx -s reload ``` php-fpm(fastcgi) ```nginx # 调用php-fpm处理.php文件 location ~* \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } ``` ###### Zerotier 加入指定ID的网络 ```bash zerotier-cli join 网络ID ``` 客户端添加Moon节点 ```bash zerotier-cli orbit <World ID> <seed> ``` 客户端退出Moon节点 ```bash zerotier-cli orbit <World ID> ``` 最后修改:2024 年 01 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏