夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
thumbnail
使用Netdata监控VPS
前言 原本以为安装netdata是比较容易的,不料却有一堆坑。首先摆上官网和Github: Github: https://github.com/netdata/netdata 官网: https://netdata.cloud 官方文档: https://docs.netdata.cloud 官方文档语言选项中有中文,但是实测有翻译的章节不多 (2019-10-07) 教程中的实验环境为Ubuntu 18.04, 不保证本教程在其他系统也能成功运行. 安装Netdata 在使用netdata的安装脚本之前,建议先更新一下: sudo apt update sudo apt upgrade -y # -y 选项可以不加 然后使用脚本: bash <(curl -Ss https://my-netdata.io/kickstart.sh) 跟随脚本提示(其实就是不停按Enter, y和输密码)安装完成后, 便可执行下一步. 验证安装成功 使用浏览器访问以下网址, 如果能够打开并看到类似以下画面则表示安装成功: http://<your ip>:19999 注意把your ip改为你的vps的IP地址. 更改配置(可选) 安装完成后,配置文件默认放在/etc/netdata/目录, 建议使用该目录下的edit-config编辑配置文件. 更改系统默认编辑器 edit-config会使用系统默认编辑器编辑配置文件, 如果你偏爱vim而系统默认的编辑器是nano的话, 你可能需要进行这一步操作: sudo update-alternatives --config editor 然后会出现一段类似这样的文字: There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano 40 auto mode 1 /bin/ed -100 manual mode 2 /bin/nano 40 manual mode 3 /usr/bin/vim.basic 30 manual mode 4 /usr/bin/vim.tiny 15 manual mode Press <enter> to keep the current choice[*], or type selection number: 有*的那一行表示当前的系统默认编辑器, 输入vim对应的那个数字即可. 如果你发现这上面并没有vim, 那么可能是你还没有安装. 更改默认端口 edit-config的用法是: sudo ./edit-config FILENAME # FILENAME 为要编辑的配置文件名 使用下面的命令可以获得所有netdata的配置文件名: sudo ./edit-config 在使用上述命令时需保证已经进入/etc/netdata目录: cd /etc/netdata 并且保证每次使用都加上sudo以获得编辑权限. 使用以下命令编辑netdata.conf: sudo ./edit-config netdata.conf 在[web]标签下找到port选项, 把他改成你想要的值, 但是切记这个值的更改会影响后面的配置, 更改需慎重. 配置域名 通常我们都不想访问netdata的时候要使用IP并且带上端口号, 如果能直接用域名访问就好了. 我们可以使用nginx反向代理来实现这一功能. 以下内容均假设需要配置的域名是netdata.domain.com, 请自行替换成自己的域名. 使用 Nginx 本节内容可参照: https://docs.netdata.cloud/docs/running-behind-nginx/ 首先自然是要安装nginx: sudo apt install nginx 然后在/etc/nginx/sites-available中新建一个配置文件: cd /etc/nginx sudo vim sites-avaliable/netdata.conf 输入以下内容: upstream netdata { server 127.0.0.1:19999; keepalive 64; } server { listen 80; server_name netdata.domain.com; location / { proxy_pass http://netdata; proxy_set_header X-Forwarded-Host $host;…
thumbnail
小试牛刀–WordPress主题开发教程(01)
一些约定 本教程默认WordPress安装在本地.如果你把WordPress安装到了其他位置,请讲下文提及的网址中的localhost改为你的网站地址.同时,本教程的样例网站名称叫做TrucoTest,出现不同的网站名实属正常. 如果有不清晰的地方,欢迎留言. 主题在哪里 WordPress是一个非常强大的CMS(Content Management System, 内容管理系统),于是它的结构也比较复杂. ├── index.php ├── wp-admin | |── ... ├── wp-config.php ├── wp-content | |── index.php | |── plugins | | |── ... | |── upgrade | | |── ... | |── upload | | |── ... | |── themes | | |── ... ├── wp-cron.php ├── wp-includes | |── ... |── ... └── xmlrpc.php 上面就是WordPress的目录,我们并不需要修改全部文件,所有的主题全部位于wp-content/themes里面,每一个主题都放在一个文件夹里面. 在WordPress的控制面板(仪表盘)中,我们可以看到在外观 -> 主题(Apperance -> Themes)中看到现在安装的所有主题,默认的主题是2019(twenty nineteen). 添加主题 既然所有主题都放在wp-content/themes里面,那是不是在那里创建一个新的文件夹就行了呢?答案是不行.因为WordPress并不是靠文件夹来辨别主题的.WordPress靠的是文件夹里的style.css文件获取主题的版本、作者等信息的. 在wp-content/themes目录下创建一个名叫FirstTheme,并在FirstTheme中创建style.css和index.php两个文件文件.目录结构如下: wp-content └── themes └── FirstTheme |── index.php └── style.css 在style.css中写入以下内容: /* Theme Name: FirstTheme Author: truco Description: My first wordpress theme Version: 0.0 */ 保存后再次在仪表盘中打开外观 -> 主题,看到以下画面即为成功. 写在style.css的信息还可以包括: - Author URI: 作者的网站 - License和License URI: 使用的协议和协议的网址 - Tags: 主题的标签,即表示主题与哪些风格相关 - ... 点击主题,可以看到我们刚刚在Description中输入的字段. 点击启用,然后访问http://localhost,——可以看到,网页一片空白.这是因为我们在index.php中没有写任何东西,所以网页自然是空的. 子主题 从头编写一个主题需要很多的时间,但有时候我们只是想在其他主题的基础上做一些小修改,我们就可以编写一个子主题. 想要让WordPress知道我们编写的主题是另外一个主题的子主题,就要更改style.css的头部(前几行).假设我们要做TwentyNineteen的子主题,只需要把style.css改为以下的内容: /* Theme Name: FirstTheme Author: truco Description: My first wordpress theme Version: 0.0 Template: twentynineteen */ 细心的同学可能已经发现:相比之前的style.css,只是加多了一行Template: twentynineteen而已.事实上,WordPress使用Template字段来判断父主题是哪一个,所以Template中的名称一定要与父主题的名称相同,并且区分大小写. 再次打开http://localhost,发现还是什么都没有...这是因为我们之前创建的index.php覆盖(override)了父主题的index.php,所以WordPress默认采用子主题的index.php,也就是我们创建的空的那个.把index.php删除,再次刷新. 由于子主题中存在style.css,WordPress认为我们把style.css重写了,于是采用了我们编写的style.css(而不是父主题的那个),然而我们并没有定义任何样式,所以可以看到内容全都在,但是样子完全不同. 那么怎样引用父主题的样式呢?我们可以用CSS中的import方法.在style.css中加入以下内容: @import url(../twentynineteen/style.css); 再次刷新网页,可以发现已经恢复正常. 现在我们为子主题添加一些样式.在style.css中加入以下代码: body { background-image: url(https://i.pinimg.com/736x/5b/13/dd/5b13ddd922f54cd5f210f08a050c411f.jpg); background-repeat: no-repeat; background-position: top left; background-attachment: fixed; background-size: cover; } #page { background-color: rgba(255,255,255,.5); max-width: 1200px; margin: auto; } 其他样式可以随意设置. 总结 这篇文章讲到了: - 如何新建一个主题 - WordPress如何检测主题 - 如何新建一个子主题 下一篇文章开始,将会从基础的部分开始,一步一步讲如何开发一个WordPress主题.
thumbnail
前言–WordPress主题开发教程(00)
写在前面 这是一篇WordPress主题开发教程.当初建立这个博客的时候一直找不到合适的主题(可能是我不会找),但是对HTML、CSS和JS都不熟,所以这个想法被搁置了.最近学习了这三部分以后又重新有了这个想法,于是开始学习WordPress主题的开发. 由于PHP和CSS的关系不大,加上我的CSS一般,所以本教程相对来说更加注重HTML的部分而非CSS. 我还是个学生,可以用来学开发的时间本来就不多,用来写博客的时间要更少一些,所以只能尽力更新,不能保证更新频率.另外,我对WordPress的了解不是很深入,所以在教程中出现的错误还请包涵,有什么问题可以在留言处支出,我会尽快更改. 最后,谢谢光临我的小站. 开始之前 阅读本教程需要的条件: - 熟悉HTML、CSS、和JavaScript - 对PHP有初步的认识 - 已经安装NMP环境和WordPress 上面所说的"熟悉"并没有一个准确的定义,但是如果你已经能够独立写出一个漂亮的网页,那么一定满足第一个条件. 对PHP的了解不需要太过深入,但至少了解PHP的变量和函数这些基础的东西. 相比之下,第三个条件并不难达到,喜欢折腾的朋友可以看看这篇教程,不喜欢折腾的也可以轻松地使用XAMPP来搭建LNMP环境,然后下载WordPress并解压到htdocs目录即可,这里不多加赘述. 环境 本教程在以下环境中编写: - Wordpress 5.0.3 声明 本教程于2019年1月开始编写,部分API可能在以后的版本中更改,而本教程同步更新. 本教程中的所有文章适用于知识共享 署名-相同方式共享 3.0协议 本文中的图片来源包括: - https://pixabay.com - https://burst.shopify.com
自建文件分享平台
最近发现在没有微信、QQ之类的通信软件的情况下传输文件比较麻烦,刚好手头上有一台闲置的VPS,那就拿来用用吧. 需求 首先要说的当然是需求.需要传送的文件都比较小,所以没有考虑网速.需求主要有三个: * 便捷访问: 不需要登录即可下载文件 * 上传文件要足够方便 * 不能太丑 于是就有了一些硬件需求: * 有一台VPS * 硬盘空间不能太小(5G以上) 这篇教程的目标读者 鉴于需要使用的命令有点多,所以最好满足以下需求: 1. 能够熟练使用基本的Linux命令(ls, cd, mkdir, chmod等等 ) 2. 能够初步使用GIt 3. 在日常使用的电脑中安装了Git 注意: * 由于这只是日常搞机,所以没有考虑出错 * 由于VPS上没有重要文件,所以没有考虑安全性 使用的软件及系统 Ubuntu 18.04 Git LEMP中的LEP(LEMP安装教程可以看这里) DirectoryLister Parsedown 开始之前 请先安装好Nginx和PHP,这里有教程 执行以下命令: sudo apt update # update sudo apt install git 第一步 搭建Git Server 这个网盘的文件上传功能由Git实现,我们需要把服务器变成一台Git Server 下面的命令基于这个教程,并做了一些改动 首先新建一个用户: adduser git # 这里的git是用户名 # 会提示输入密码和用户信息,除了密码以外的信息都不重要 如果不想每次同步文件都输入密码,可以运行以下命令: # 本机 ssh-keygen -t rsa -b 4096 # 命令完成后,SSH Key储存在用户文件夹下的.ssh # 其中id_rsa是私钥,id_rsa.pub是公钥 # 服务器 mkdir /home/git/.ssh nano /home/git/.ssh/authorized_keys # 把本机的SSH Key输进去 (这里指的是id_rsa.pub) # ctrl+x退出并保存 测试 在本机上运行以下命令以确定上述步骤没有出错: # 本机 ssh git@your_ip # 请把your_ip换成你自己的 # 会要求输入密码 如果成功登陆,就表示上述步骤完成 第二步 安装DirectoryLister DirectoryLister可以把文件夹中的文件显示在网页上,并且还能显示文件大小和最后修改时间.最重要的是,它支持用README.html对每一个文件夹中的文件进行描述.这意味着我们能够把一些纯文本文件直接显示在网页中. 首先选择一个目录(本篇中使用的目录是/home/git/html,也可以换成其他目录). # 服务器 su git # 切换至git用户 mkdir /home/git/html cd /home/git/html # 如果你选择的目录不是这个,请换成自己的目录 下载DirectoryLister并解压 # 服务器 wget https://github.com/ToyoDAdoubiBackup/DirectoryLister/archive/master.zip unzip master.zip rm master.zip # 移除master.zip文件 为了保证接下来的步骤不出现错误,把文件夹的权限设为777(任何用户有读写执行的权限) # 服务器 cd .. # 返回上一层文件夹 chmod -R 777 html/ # 更改目录权限,-R指更改文件夹内所有文件的权限 第三步 配置Nginx服务器 更改网站根目录 vim /etc/nginx/sites-available/your_config_file # 把your_config_file换成你的配置文件 把配置文件里的root改为/home/git/html server { ... #root /var/www/html # 删除或注释这一行 root /home/git/html; ... } 检查配置文件是否有语法错误: sudo nginx -t 出现以下提示就表示没有错误: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file…
thumbnail
[翻译]WordPress的安装
来源 本文翻译自: How To Install WordPress with LEMP on Ubuntu 18.04 如果原文作者或原文版权所有者认为翻译不当或有侵权行为,请联系本站站长. 前言 WordPress是互联网上最流行的CMS(内容管理系统, Content Management System). 它可以让你轻易地搭建起一个以MySQL为后端,基于PHP的复杂的博客或者网站.WordPress现在被数以万计的网站采用.并且,它是快速建立起一个网站的优秀选项.搭建完以后,几乎所有操作可以通过网页前端来完成. 在这个教程里,我们会专注于在Ubuntu系统和LEMP(Linux, Nginx, MySQL, PHP)的基础上搭建起一个WordPress. 开始之前 为了达到理想的效果,你需要有权访问一台Ubuntu 18.04服务器. 译注:废话...本教程也可以用于Ubuntu系统其他版本,但可能有微小差别,有困难欢迎在下方留言 在开始之前,你需要完成一下几个步骤: - 在服务器中创建一个sudo用户: 我们将会用到一个具有sudo权限的用户.你可以通过这个教程来创建一个具有sudo权限的用户. - 安装LEMP: WordPress 需要在一个网络服务器,一个数据库和PHP的支持下运行.安装LEMP可以满足这些需求.你可以根据这个教程来搭建起LNMP环境. - 让你的网站使用SSL: WordPress提供动态网页服务并且处理用户的登录认证.TLS/SSL是一种让流量加密的技术,可以让你的网站变得更安全.启用SSL的方法取决于你是否有一个域名: - 如果你有一个域名...启用SSL最简单的办法就是使用Let's Encrypt家的产品.Let's Encrypt提供免费、可信的证书.跟随这个教程启用SSL. - 如果你没有域名...并且你只是用SSL来测试或者是自己使用,你可以用自己签发的证书代替.这同样科技达到加密的效果,但是没有做域名验证.跟随这个教程做自己签发的证书. 当你完成上述步骤,用有sudo权限的用户登录服务器并进行下一步 译注: - 你也可以直接用root用户而不创建一个sudo用户,但是这样可能带来安全性问题(操作不当可能会使系统崩溃,但是比较方便),如果你使用的是root用户,那么下面的命令中的sudo可以不输入. - 其实是否使用SSL并不影响下面的操作,没有使用SSL的读者可以选择安装WordPress以后再安装SSL证书 第一步:为WordPress创建一个数据库和一个用户 第一步也是预备工作.WordPress用MySQL管理和储存网站的内容和用户的资料.我们现在已经安装好MySQL了,但是我们还需要创建一个数据库和一个用户给WordPress使用. 在进行下一步之前,先用MySQL的root用户(管理员用户)登录.如果登录MySQL使用的是auth_socket认证插件(默认),那么你可以使用sudo来登录: sudo mysql 如果之前将认证方式改为使用密码登录,那么请使用下面的命令: mysql -u root -p 你需要输入root用户的密码 首先,我们创建一个供WordPress操作的数据库.你可以把数据库名字改成其他名字,但在下面的教程中,我们将会使用wordpress这个名字.输入以下命令以创建一个数据库: CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; 注意: 每一条MySQL语句都必须以分号(;)结尾.当你遇到问题时,请先检查语句末尾是否加上了分号 接下来,我们将会创建一个独立的MySQL用户,用来操作新建的数据库.为每一个项目创建一个数据库和一个独立的用户有助于管理,并且可以增加安全性.我们将会使用wordpressuser作为用户名,你可以随意更改这个名字. 我们将要创建这个用户并且设置密码,然后让它有权限访问我们刚刚创建的数据库.输入下方的命令.最好为这个用户选择一个强密码: GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password'; 现在供WordPress使用的数据库和对应的用户已经创建好了.刷新,让数据库储存更改: FLUSH PRIVILEGES; 退出MySQL: EXIT; 与MySQL的会话将会终止,现在你看到的是Linux终端. 第二步:安装额外的PHP扩展 安装完LEMP以后,我们还需要安装一些扩展使得PHP能与MySQL通信.WordPress和WordPress中的插件都需要这些额外的扩展. 我们可以通过下列命令安装WordPress常用的一些扩展: sudo apt update sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip 注意: 每一个WordPress插件有它需要的扩展清单.有些插件可能需要更多的扩展才能正常使用.查看WordPress文档以确保已经安装所有的插件.除了上面列出的插件以外,其他插件可以通过apt命令安装 这些扩展安装完成以后,重启PHP-FPM进程,启用新安装的插件: sudo systemctl restart php7.2-fpm 我们现在完成插件的配置了. 第三步:配置Nginx 接下来,我们需要对Nginx的配置做一些小小的更改.你可能在准备步骤中已经有了一个位于/etc/nginx/sites-available的配置文件.这个配置文件是指向你的域名或者IP地址的,并且已经做好了SSL的相关配置.我们会以/etc/nginx/sites-available/wordpress作为样例,实际操作时应该以你的配置文件路径为准. 另外,我们会用/var/www/wodpress作为WordPress的安装路径.你应该将配置文件中的网站根目录改为这个. 注意: 你可以使用默认配置文件(/etc/nginx/sites-available)中的配置,这时网站的根目录应为/var/www/html.当这台服务器上只有一个网站在运作时,这么做是一个不错的选择.但如果这台服务器上托管了多个网站,最好把配置文件分开,每一个文件对应不同的网站 译注:这一段有疑惑可以先跳过,也欢迎在下方留下疑惑,我会尽力解答 用sudo权限打开你的网站的配置文件: sudo nano /etc/nginx/sites-available/wordpress 我们需要在server块中,加入一些location块 先为/favicon.ico和/robots.txt创建精确匹配的块. 我们会使用正则表达式来匹配静态文件.我们也会避免把请求这些文件记录到日志里面,这样可以避免大量日志的产生,减少资源的浪费.你可以在静态文件列表中加入其他常用的后缀名: server { . . . location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; allow all; } location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ { expires max; log_not_found off; } . . . } 在已有的location /块中,我们需要更改try_files选项,让网页把未能被其他块匹配的请求传递给index.php文件. server { . . . location / {…
thumbnail
[翻译]LNMP的安装
来源 本文翻译自: How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 18.04 如果原文作者或原文版权所有者认为翻译不当或有侵权行为,请联系本站站长. 前言 LNMP是Linux操作系统,Nginx服务器,储存后端数据的MySQL以及负责动态处理数据的PHP的缩写,由于Nginx的发音很想Engine-X,所以LNMP很多时候被人们称作LEMP. 这个教程说明的是如何在Ubuntu 18.04 Server系统上安装LNMP.要想按照此教程顺利安装LNMP,首先需要保证使用的是Ubuntu操作系统. 开始之前 你需要一个拥有sudo权限的用户,或者有root用户的使用权限,否则下面的操作无法顺利进行. 如果满足条件,那就开始吧. 译注: 如果使用的是root用户,下列命令中的sudo都不用输入. 第一步 : 安装 Nginx 服务器 为了能够把网页呈现给网站的访问者,我们需要部署Nginx服务器. 这个步骤用到的所有软件都来源于Ubuntu系统内置的包储存库(Package repositories).也就是说接下来的步骤会使用apt包管理器来安装需要的软件. 因为这是第一次在这里使用apt,所以先更新一下源(不知道什么叫源的不用纠结)会比较好一些.更新完以后安装Nginx: sudo apt update sudo apt install nginx 在Ubuntu 18.04里,Nginx在安装时就已经被配置好. 如果运行了ufw防火墙,就需要允许与Nginx的通信.Nginx在安装时就已经被注册,所以配置起来相当简单. 推荐限制其他不必要的通信(当然也可以不这么做).如果没有允许SSL通信,那么你可能只需要允许在端口80的通信. 允许80端口的通信: sudo ufw allow 'Nginx HTTP' 使用下面的命令查看ufw状态: sudo ufw status 下列输出说明允许HTTP通信: Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6) 如果没有开启ufw防火墙或者查看状态时有这样的结果(Status: inactive),可以用下面的命令开启ufw防火墙: sudo ufw enable 并且再次运行上述命令: sudo ufw allow 'Nginx HTTP' 新增防火墙规则以后,可以使用浏览器访问服务器的IP地址或者域名以确认安装成功.(本地可以使用127.0.0.1或localhost) 如果你没有一个指向你的服务器的域名并且不知道服务器的IP,可以执行以下命令来找到IP: ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 输出可能包含几个IP地址,你可以在浏览器中逐个尝试. 你还可以从其他地方查看哪个IP可以访问: curl -4 icanhazip.com 在浏览器中输入以下地址,会得到一个Nginx的默认页面: http://server_domain_or_IP 如果看到了上面的页面,就证明Nginx已经安装成功. 第二步: 安装 MySQL 现在已经有了一个网页服务器(刚刚安装的Nginx),你还需要安装MySQL(一个数据库管理系统)来存储你的网站的数据. 用以下的命令来安装MySQL: sudo apt install mysql-server 现在MySQL已经安装好,但是还需要配置. 为了保障安装时的安全性,MySQL提供了一个脚本(Script),这个脚本会在安装时询问你如何处理一些不安全的默认配置.用以下的命令运行这个脚本: sudo mysql_secure_installation 这个脚本会让你输入一个密码,作为使用MySQL的凭证.完成以后,它还会询问是否启用VALIDATE PASSWORD PLUGIN. 注意:这个功能起判定作用.如果启用,MySQL将不接受所有不符合判定标准的密码并且报错.若果你输入的密码强度较弱,在与其他有管理、配置MySQL功能的软件结合使用的时候可能会报错(比如phpMyAdmin).显然,禁用这个功能会比较安全且不易出错,但是你应该设置一个强密码. 译注: 如果只是这次安装只是实验性质,禁用这个插件并且设置一个简单密码是个不错的选择. 输入Y确定操作,或者输入其他表示禁用并且继续下一步. VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to…