人生最重要的不是努力,而是方向

0%

在windows中没有想linux那样又源站,可以直接执行命令安装mysql,下面就介绍以下如何在windows系统中安装mysql

准备工作

  1. 去华为镜像源去下载windows系统下的mysql离线安装包,我这里下载mysql最新的5.7.31,如下图:

将下载好的zip压缩包解压到指定目录,为了方便,我这里解压到了C盘下的mysql文件夹

  1. 在windows中为mysql的bin目录设置环境变量,在系统变量-Path变量值中增加一个mysql的运行目录,因为Path变量值不止存在一个路径信息,因此你添加的时候,在最后面输入内容应该和下面类似

    ;c:\mysql\bin

要特别注意前面存在一个英文半角的分号,这个不能忽略

  1. 再mysql目录下(注意不是bin目录)创建my.ini,文件名必须一致,然后用notepad++或者其他二进制文本编辑器打开,录入如下内容:
[mysqld]
port = 3306

basedir=C:\mysql

datadir=C:\mysql\data

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

[mysql]

default-character-set=utf8

安装

打开cmd控制台或者powershell , 执行如下命令:

mysqld -install

然后紧接着执行安装后的初始化命令

mysqld --initialize

初始化完成以后,会在data的目录中生成一个以计算机名称为名称,后缀名为.err为后缀的文件,用二进制文本编辑器打开,搜索如下类似的一句英文

A temporary password is generated for root@localhost: raLk,bdq70pi

后面的root@localhost: 跟这的就是我们的临时密码

然后我们打开powershell (cmd也可以) ,输入如下命令:

mysql -u root -p 

回车,然后复制上面提到的临时密码,然后右键黏贴,再次回车,看到如下页面证明我们登陆成功

配置

由于使用的是临时密码,我们无法引用与项目使用中,可已在登陆mysql以后使用如下命令重新设置新密码:

ALTER USER USER() IDENTIFIED BY 'shabime';

因为我已经设置了,这里不做演示,以后我们就可以使用新的密码登陆了,其他的一些需要链接mysql的项目也可以相应的使用该密码

到此mysql的离线安装方式就结束了,当然在图一的时候你也可以下载msi形式的安装包

windows server 2012以下的windows版本中(包括非windows server 系列),可已通过开始菜单中的"启动"文件夹里创建快捷方式来达到开机启动的目的.

但是在2016/2019等版本系统中,在开始菜单中找不到"启动",如果写了个bat批处理文件或者希望执行一个exe,如何能开机启动呢?可以打开文件资源管理器,把下面的位置粘贴到地址栏后回车。将bat文件或者他的快捷方式粘贴到文件夹里就可以了。

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

最近使用ubuntu 18.04运行一些服务,然后发现服务器经常出现网络不通的情况,主要是一些域名无法解析。

检查/etc/resolv.conf,发现之前修改的nameserver总是会被修改为127.0.0.53,无论是改成啥,在不确定的时间,总会变回来。

查看/etc/resolv.conf这个文件的注释,发现开头就写着这么一行:

# This file is managed by man:systemd-resolved(8). Do not edit.

这说明这个文件是被systemd-resolved这个服务托管的。

你可以手动修改/etc/resolve.conf以后,使用tail -f /etc/resolve.conf开一个终端,然后另一个终端执行systemctl restart systemd-resolved动态查看会发现你修改的那个文件会自动变回去

通过netstat -tnpl| grep systemd-resolved查看到这个服务是监听在53号端口上。

但是有些时候使用上述命令是看不到任何结果的

这个服务的配置文件为/etc/systemd/resolved.conf,大致内容如下:

[Resolve]
DNS=223.5.5.5 119.29.29.29
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

如果我们要想让/etc/resolve.conf文件里的配置生效,需要添加到systemd-resolved的这个配置文件里DNS配置项,然后重启systemd-resolved服务即可。

修改办法:

#LLMNR=no 将这个#号去掉

另一种更简单的办法是,我们直接停掉systemd-resolved服务,这样再修改/etc/resolve.conf就可以一直生效了。

借鉴转载至:https://www.cnblogs.com/breezey/p/9155988.html

格式

mysqldump -u [mysql用户] -p [数据库] $(mysql -u [mysql用户] -p [数据库] -Bse “show tables like ‘[前缀字符串]%’”) > “[文件名].sql”

示例

mysqldump -u root -p enterprise $(mysql -u root -p enterprise -Bse “show tables like ‘fa_%’”) > “enterprise.sql”

  1. 添加一个新的用户帐户

使用adduser命令创建一个新的用户帐户。为新用户使用一个强密码。您可以输入用户信息的值,或按ENTER将这些字段保留为空白。

# adduser example_user
Adding user `example_user' ...
Adding new group `example_user' (1001) ...
Adding new user `example_user' (1001) with group `example_user' ...
Creating home directory `/home/example_user' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for example_user
Enter the new value, or press ENTER for the default
        Full Name []: Example User
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y
  1. 将用户添加到sudo组

使用将新用户添加到sudo组usermod

# usermod -aG sudo example_user
  1. 测试

切换到新用户

# su - example_user

验证您是的新用户whoami,然后测试的sudo访问sudo whoami,该访问应返回root

$ whoami
example_user
$ sudo whoami
[sudo] password for example_user:
root
  1. 总结

新的用户帐户即可使用。最佳做法是,使用此sudo用户进行服务器管理。您应避免将root用户用于维护任务。

第一步,在终端执行如下代码,前提是服务器或者本地主机已经安装openssl

openssl req -x509 -nodes -newkey rsa:2048 -sha256 -keyout pure-ftpd.pem -out pure-ftpd.pem

我这里希望给自己搭建的pure-ftpd创建一个证书,证书的名字是pure-ftpd.pem,这里面包含有证书和私钥两部分,再这同一个文件中,当然你也可以从里面摘取分开来保存,执行完成后会有如下提示:

Generating a RSA private key
....................................................................................................................................+++++
.........................................................................................................................................................................+++++
writing new private key to 'pure-ftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Shandong
Locality Name (eg, city) []:Jining
Organization Name (eg, company) [Internet Widgits Pty Ltd]:IMGL
Organizational Unit Name (eg, section) []:IMGL
Common Name (e.g. server FQDN or YOUR name) []:IMGL.NET
Email Address []:nihao@qq.com

这里会让你输入以下参数信息,你可以直接回车不予理睬,但这样可能让你生成的证书不够文雅,不能够展示一些信息,根据我上面的提示魔方成你的内容,如下:

  1. Country Name (2 letter code)

国家名称(2个字母代码),它举了个例子AU,我们这里是中国,我就填的CN,你也可以使用CC‘科科斯群岛’ SG(新加坡) US(美国) UK(英国) HK(香港) JP(日本)等国家代码

  1. State or Province Name (full name) [Some-State]

州或省名(全名)[某些州] ,我们这里是山东,我就输入Shandong,你也可以在美国的话输入一些美国的州名

  1. Locality Name (eg, city) []

地区名称(如城市)[] , 我这里输入Jining

  1. Organization Name (eg, company) [Internet Widgits Pty Ltd]

组织名称(例如,公司)[互联网Widgits私人有限公司] ,我这里输入我的域名,你也可已输出类似:baidu .ltd

  1. Organizational Unit Name (eg, section)

组织单位名称(例如,部门),假如你们公司不同的部门有不同部门的证书需求,比如财务,你可以输入Finance

  1. Common Name (e.g. server FQDN or YOUR name)

公用名(例如服务器FQDN或您的姓名),你可以输入财务部门的专用服务器主机名;比如finance.imgl.net

  1. Email Address []

邮箱[] , 这个就随意了

以上信息不会提交到任何地方或者组织,只用于证书签名使用,请放心随意填写

介绍

最佳做法是定期更新服务器以提高安全性和稳定性。使用本指南来保持您的Debian服务器更新。

最佳做法是定期更新服务器以提高安全性和稳定性。使用本指南来保持您的Debian服务器更新。

  1. 支持的版本

本指南适用于:
Debian 9 “Stretch”
Debian 10 “Buster”

  1. 进行备份

在更新系统之前,请务必进行备份。

更新软件包列表

此命令从启用的存储库更新软件包列表。

sudo apt update

列出可升级的软件包

此步骤是可选的。要在执行升级之前查看可升级软件包,请使用apt list命令。

sudo apt list --upgradable

升级包

此命令将升级所有可升级软件包。

sudo apt upgrade

重新启动服务器

sudo reboot

一键升级

如果要接受所有默认设置并在没有干预的情况下执行升级,请使用以下命令:

sudo apt update && sudo apt upgrade -y

可选-自动删除

使用apt自动删除旧软件包和依赖项。

sudo apt autoremove

说明

定期更新可确保服务器安全稳定。在更新之前,请确保已制定快照或备份策略。

准备工作

  1. 三台主机,分别是192.168.6.128,192.168.6.129,192.168.6.130

  2. 在192.168.6.128安装haproxy

    apt install haproxy
  3. 在192.168.6.129安装apache+php

    apt install php7.4 #这一步会自动安装apache,并配置好php的解析环境,很方便
  4. 在192.168.6.130安装nginx

    apt install nginx

注:因为对于php等动态脚本语言解析apache相对于nginx更有优势,我们选择apache+php的组合,静态文件nginx更有优势;

192.168.6.128上配置haproxy,找到/etc/haproxy/haproxy.cfg文件

配置代码如下:

listen stats
    bind 0.0.0.0:8888
    stats refresh 30s
    stats uri /stats
    stats realm Haproxy Manager
    stats auth admin:admin

frontend main
    bind 0.0.0.0:80

    acl url_static path_beg -i /static /images /javascript /stylesheets
    acl url_static path_end -i .jpg .gif .png .css .js
    acl url_dynamic path_end -i .php
    use_backend static if url_static
    use_backend dynamic if url_dynamic
    default_backend static


backend static
    balance roundrobin
    server websrv1 192.168.6.130:80 check maxconn 1000

backend dynamic
    balance roundrobin
    server dynamic1 192.168.6.129:80 inter 3000 rise 2 fall 3 check maxconn 100

配置完成后使用

systemctl restart haproxy

重新启动haproxy

验证

  1. 在浏览器中打开站点 http://192.168.6.128:8888/stats , 可以看到如下图所示的数据统计也面
  1. 在192.168.6.129服务器的/var/www/html创建index.php,内容如下:
1
2
3
<?php
phpinfo();
>

在浏览器中打开站点 http://192.168.6.128/index.php , 可以看到如下图所示的phpinfo信息,表示我们配置的动态代理没有问题

![phpinfo](https://res.imgl.net/hexo/Ubuntu-20-04-haproxy/20200519101828.png phpinfo %}
3. 随便将一张图片(我这里命名为timg.jpg)上传到192.168.6.130服务器的/var/www/html目录下

在浏览器中打开站点 http://192.168.6.128/timg.jpg , 可以看到如下图所示的phpinfo信息,表示我们配置的静态资源代理没有问题

![timg.jpg](https://res.imgl.net/hexo/Ubuntu-20-04-haproxy/20200519101746.png timg.jpg %}

总结

至此,haproxy的基本使用配置就算完了,其中可能包含不恰到的配置,但是对于初次学习使用的我们还需要慢慢深究,保持一个谦虚的心.

介绍

MySQL Group Replication是一个创建高可用性容错数据库架构的插件。在无共享架构下,组复制消除了单点故障(SPOF)的机会。在本指南中,您将安装并配置MySQL组复制插件,以创建高可用性的数据库集群。

先决条件

开始之前,请确保您具有以下内容:

  • 一组配置了私有网络的三个Ubuntu 20.04服务器。本指南使用示例私有IP地址192.0.2.1、192.0.2.2和192.0.2.3。

  • 在每个服务器上具有sudo特权的非根用户。

  • 这三个服务器都是最新的升级版本。

    第 1 步:安装 MySQL 服务器

使用非root账户ssh登陆到第一台服务器访问,安装 MySQL 服务器。

$ sudo apt install mysql-server

为 MySQL 设置root密码并配置安全性。

$ sudo mysql_secure_installation

在其他两台服务器上重复相同的过程。

第 2 步:生成组复制名称

SSH 到服务器 1,以root身份登录到 MySQL 服务器。

$ sudo mysql -u root -p

输入 MySQL 服务器root密码,然后按ENTER以继续。

生成 UUID。

mysql> SELECT UUID();

记下您的新 UUID,其格式将与下面的示例类似,每个服务器使用此 UUID 作为复制组名称。

+--------------------------------------+
| UUID()                               |
+--------------------------------------+
| 00000000-1111-2222-3333-444444444444 |
+--------------------------------------+

退出 MySQL。

mysql> QUIT;

步骤 3:配置服务器1

SSH 到服务器1,编辑 /etc/mysql/my.cnf

$ sudo nano /etc/mysql/my.cnf

将下面的信息粘贴到文件末尾。

  • 服务器1的地址替换192.0.2.1。

  • 192.0.2.2192.0.2.3分别替换为服务器2和3的地址。

  • 用步骤2中的UUID替换loose-group_replication_group_name的值。

    [mysqld]
    server_id=1
    bind-address=0.0.0.0
    gtid_mode=ON 
    enforce_gtid_consistency=ON
    binlog_checksum=NONE
    
    plugin_load_add='group_replication.so'
    group_replication_single_primary_mode=OFF
    loose-group_replication_group_name="00000000-1111-2222-3333-444444444444"
    loose-group_replication_start_on_boot=OFF
    loose-group_replication_local_address= "192.0.2.1:33061"
    loose-group_replication_group_seeds="192.0.2.1:33061, 192.0.2.2:33061, 192.0.2.3:33061"
    loose-group_replication_bootstrap_group=OFF
    report_host=192.0.2.1

注:loose-group_replication前缀指示服务器启动,即使服务器启动时未加载组复制插件也是如此。

保存并关闭文件。

MySQL 配置设置说明了:

server_id=1
这是复制组中的服务器1
bind-address=0.0.0.0
收听所有 IP 地址。
gtid_mode=ON
使用全局事务标识符运行复制。
enforce_gtid_consistency=ON
MySQL 将仅执行可以使用 GTID 安全地记录的语句。
binlog_checksum=NONE
禁用将校验和写入二进制日志。
plugin_load_add='group_replication.so'
加载组复制插件。
group_replication_single_primary_mode=OFF
多主机复制模型,所有成员都有读写访问权限。
loose-group_replication_group_name="00000000-1111-2222-3333-444444444444444"
复制组的唯一名称。
loose-group_replication_start_on_boot_OFF
请勿在启动时启动复制。您需要手动启动复制。详细了解自动启动复制的含义和注意事项。
loose-group_replication_local_address= "192.0.2.1:33061"
此服务器用于复制的地址和端口。
loose-group_replication_group_seeds="192.0.2.1:33061,192.0.2.2:33061,192.0.2.3:33061"
其他组成员的主机和端口组合。
loose-group_replication_bootstrap_group_OFF
设置 OFF 以避免从多个服务器引导组并引发冲突。
report_host=192.0.2.1
此服务器用于向其他成员报告的 IP 地址。

重新启动 MySQL 服务器以应用更改。

$ sudo service mysql restart

步骤 4:创建复制用户

在服务器 1 上登录到 MySQL。

$ sudo mysql -u root -p

创建复制用户,用你的密码替换EXAMPLE_PASSWORD。

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='replication_user', MASTER_PASSWORD='EXAMPLE_PASSWORD' FOR CHANNEL 'group_replication_recovery';

引导第一台服务器上的组复制插件
仅引导组的一个成员以避免创建同名的多个组。为此,在第一台服务器上运行以下命令。

mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;

关闭group_replication_bootstrap_group以避免在重新启动 MySQL 服务器时创建多个组。

mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

通过查询replication_group_members验证组的状态。

mysql> SELECT MEMBER_ID, MEMBER_HOST, MEMBER_STATE FROM performance_schema.replication_group_members;

验证您的输出与此类似。你的MEMBER_ID会有所不同。

+--------------------------------------+-------------+--------------+
| MEMBER_ID                            | MEMBER_HOST | MEMBER_STATE |
+--------------------------------------+-------------+--------------+
| 11111111-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.1   | ONLINE       |
+--------------------------------------+-------------+--------------+

创建测试数据库,test_db

mysql> CREATE DATABASE test_db;

切换到数据库。

mysql> USE test_db; 

创建测试表,test_tbl

mysql> CREATE TABLE test_tbl (employee_id INT PRIMARY KEY, employee_name VARCHAR(30) NOT NULL) Engine = InnoDB;

确认表存在。

mysql> SHOW TABLES;

+----------------------------+
| Tables_in_test_replication |
+----------------------------+
| test_tbl                   |
+----------------------------+

第5步: 配置服务器 2

ssh链接到服务器2 ,编辑 /etc/mysql/my.cnf

$ sudo nano /etc/mysql/my.cnf

将下面的信息粘贴到文件末尾。

  • 用服务器2的地址替换为192.0.2.2

  • 将192.0.2.1和192.0.2.3分别替换为服务器 1 和 3 的地址。

  • 将loose-group_replication_group_name的值替换为步骤 2 中的 UUID。

    [mysqld]
    server_id=2
    bind-address=0.0.0.0
    gtid_mode=ON 
    enforce_gtid_consistency=ON
    binlog_checksum=NONE
    
    plugin_load_add='group_replication.so'
    group_replication_single_primary_mode=OFF
    loose-group_replication_group_name="00000000-1111-2222-3333-444444444444"
    loose-group_replication_start_on_boot=OFF
    loose-group_replication_local_address= "192.0.2.2:33061"
    loose-group_replication_group_seeds="192.0.2.1:33061, 192.0.2.2:33061, 192.0.2.3:33061"
    loose-group_replication_bootstrap_group=OFF
    report_host=192.0.2.2

保存并关闭文件。

重新启动 MySQL。

$ sudo service mysql restart

以根身份登录到 MySQL。

$ sudo mysql -u root -p
为服务器 2 创建复制用户,将EXAMPLE_PASSWORD替换为你的密码。

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='replication_user', MASTER_PASSWORD='EXAMPLE_PASSWORD' FOR CHANNEL 'group_replication_recovery';

启动组复制插件。

mysql> START GROUP_REPLICATION;

验证服务器 2 现在是组的成员。

mysql> SELECT MEMBER_ID, MEMBER_HOST, MEMBER_STATE FROM performance_schema.replication_group_members;

验证您的输出与此类似。你的MEMBER_ID会有所不同。

+--------------------------------------+-------------+--------------+
| MEMBER_ID                            | MEMBER_HOST | MEMBER_STATE |
+--------------------------------------+-------------+--------------+
| 11111111-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.1  | ONLINE        |
| 22222222-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.2  | ONLINE        |
+--------------------------------------+-------------+--------------+

验证服务器2已经复制了测试数据库。

mysql> SHOW databases;

+--------------------+
| Database           |
+--------------------+
| test_db            |
+--------------------+

确认服务器 2 上存在测试表。

mysql> SHOW TABLES;

+----------------------------+
| Tables_in_test_replication |
+----------------------------+
| test_tbl                   |
+----------------------------+

步骤6: 配置服务器3
SSH连接到服务器3,编辑/etc/mysql/my.cnf

$ sudo nano `/etc/mysql/my.cnf`

将下面的信息粘贴到文件末尾

  • 192.0.2.3替换为服务器 3的地址。
  • 192.0.2.1和192.0.2.2分别替换为服务器 1 和 2的地址。
  • loose-group_replication_group_name的值替换为步骤 2 中的 UUID。
[mysqld]
server_id=3
bind-address=0.0.0.0
gtid_mode=ON 
enforce_gtid_consistency=ON
binlog_checksum=NONE

plugin_load_add='group_replication.so'
group_replication_single_primary_mode=OFF
loose-group_replication_group_name="00000000-1111-2222-3333-444444444444"
loose-group_replication_start_on_boot=OFF
loose-group_replication_local_address= "192.0.2.3:33061"
loose-group_replication_group_seeds="192.0.2.1:33061, 192.0.2.2:33061, 192.0.2.3:33061"
loose-group_replication_bootstrap_group=OFF
report_host=192.0.2.3

保存并关闭

重启mysql

$ sudo service mysql restart

使用root权限登陆mysql

$ sudo mysql -u root -p

服务器3创建复制用户,用你的密码替换EXAMPLE_PASSWORD

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='replication_user', MASTER_PASSWORD='EXAMPLE_PASSWORD' FOR CHANNEL 'group_replication_recovery';

启动组复制插件。

mysql> START GROUP_REPLICATION;

验证服务器3现在是组的成员。

mysql> SELECT MEMBER_ID, MEMBER_HOST, MEMBER_STATE FROM performance_schema.replication_group_members;

验证您的输出与此类似。你的MEMBER_ID会有所不同。

+--------------------------------------+-------------+--------------+
| MEMBER_ID                            | MEMBER_HOST | MEMBER_STATE |
+--------------------------------------+-------------+--------------+
| 11111111-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.1  | ONLINE        |
| 22222222-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.2  | ONLINE        |
| 33333333-40c4-11e9-92b4-7a4c400acda6 | 192.0.2.3  | ONLINE        |
+--------------------------------------+-------------+--------------+

验证服务器3 已复制测试数据库。

mysql> SHOW databases;

+--------------------+
| Database           |
+--------------------+
| test_db            |
+--------------------+

确认服务器3上存在测试表。

mysql> SHOW TABLES;

+----------------------------+
| Tables_in_test_replication |
+----------------------------+
| test_tbl                   |
+----------------------------+

上述输出确认 MySQL 组复制插件在所有三台服务器上工作。

在生产环境中,必须处理连接到失败成员的客户端,并将它们重定向到组中的 ONLINE 成员。MySQL不处理客户端故障转移,您必须管理具有连接器、负载均衡器、中间件或路由器(如 MySQL Router 8.0)的连接

您最多可以将9个组成员添加到组复制拓扑中。

OVER

您已成功在 Ubuntu 20.04 服务器上设置 MySQL 组复制。使用此复制数据库的 Web 应用程序将避免单点故障。

配置保证能开机启动

  1. 如果你服务器安装了最新的宝塔面板,你可以如下图所示的,安装supervisor,并配置

当然也可以不用宝塔安装的supervisor,主要是方便,如果自己喜欢研究可已自行安装supervisor,配置类似如下:

[program:ad]
directory=/opt/AdGuardHome/
command=/opt/AdGuardHome/AdGuardHome
autostart=true
autorestart=true
startsecs=3
  1. 使用AdGuardHome 程序创建AdGuardHome.service,实现开机启动

进入到解压后的目录AdGuardHome,执行如下命令:

./AdGuardHome -s install

另外扩展以下

sudo ./AdGuardHome --help


Usage:

./AdGuardHome [options]

Options:
-c, --config VALUE                 Path to the config file
-w, --work-dir VALUE               Path to the working directory
-h, --host VALUE                   Host address to bind HTTP server on
-p, --port VALUE                   Port to serve HTTP pages on
-s, --service VALUE                Service control action: status, install, uninstall, start, stop, restart
-l, --logfile VALUE                Path to log file. If empty: write to stdout; if syslog: write to system log
--pidfile VALUE                    Path to a file where PID is stored
--check-config                     Check configuration and exit
--no-check-update                  Dont check for updates
-v, --verbose                      Enable verbose output
--version                          Show the version and exit
--help                             Print this help

可已看出 -s 后面可以跟status, install, uninstall, start, stop, restart

其中 start restart stop status 可已分别使用

安装

无论是用哪种方式配置开机启动,我们第一次使用都需要安装配置下,下面摘取执行./AdGuardHome -s install后的输出信息说明下

2020/05/16 05:51:37 [info] Service control action: install
2020/05/16 05:51:37 [info] Service has been started
2020/05/16 05:51:37 [info] Almost ready!
AdGuard Home is successfully installed and will automatically start on boot.
There are a few more things that must be configured before you can use it.
Click on the link below and follow the Installation Wizard steps to finish setup.
2020/05/16 05:51:37 [info] AdGuard Home is available on the following addresses:
2020/05/16 05:51:37 [info] Go to http://127.0.0.1:3000
2020/05/16 05:51:37 [info] Go to http://192.168.6.128:3000
2020/05/16 05:51:37 [info] Action install has been done successfully on linux-systemd

它的意思是我们配置启动安装成功了,要访问http://192.168.6.128:3000去实现安装完毕,安装步骤如下图:

登陆使用

如上,我们配置了adguardhome的浏览地址端口为45678,如果你实在服务器上配置的话,并且你没有开启45678端口,你在最后一步单击打开仪表盘的时候是等待状态的,也就没发进入管理

我这里演示以下宝塔使用nginx做反向代理的配置方法,不使用宝塔配置起来也很方便,这里为了简便不做过多讲解

进入宝塔配置如下,创建一个新的站点,比如ad.imgl.net,然后单击设置

如下图:

下面要登陆了

自用配置建议

到此配置和安装就完成了,其他共能请自行研究.