找不到已经在/etc/profile里配置好的环境变量
我这里遇到的是,使用supervisor启动es的时候,没有找到JAVA_HOME,而直接使用命令启动es是可以的,说明是supervisor的配置问题,解决办法如下:
打开对应的supervisor启动的项目配置文件(一般是在supervisor目录下的profile文件夹内),
[program:xxx] |
A>B>C
A为主库
B为从库
C为ES
编辑从服务器的配置文件:/etc/my.cnf
B服务器除了需要打开log-bin之外,还需要打开log-slave-updates选项,你可以再B上使用“show variables like ‘log%’;”来确认是否已经生效。
binlog_fomat=row #为了使用mysql→es同步工具
编辑从服务器的配置文件:/etc/my.cnf
cd /www/server |
配置环境变量 vi /etc/profile
vim /etc/profile |
#安装依赖包 |
部分问题解决参考:
https://github.com/siddontang/go-mysql-elasticsearch/issues/375
下载es对应版本
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-6-16
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.16.tar.gz
若下载速度太慢,可以本机先下载,然后传到服务器
下载es版本对应所需要的jdk
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
groupadd elasticsearch #创建组 |
chown -R elasticsearch:elasticsearch /www/server/elasticsearch-5.6.16/ #修改es所在目录归属 |
cd /www/server/elasticsearch-5.6.16/bin |
当看到下面的信息,代表已经启动成功了
[2021-01-15T10:15:08,736][INFO ][o.e.n.Node ] [] initializing ... |
然后可以通过curl命令测试,如果返回如下信息 代表安装成功
[root@iZm5e7nt1pesg4anvl50gqZ ~]# curl http://localhost:9200 |
Kibana官方下载地址:https://www.elastic.co/cn/downloads/past-releases/#kibana
根据ElasticSearch版本及安装环境下载相应的Kibana安装包。一般来说kibana版本号和对应es版本号一致即可,这里我es使用的是5.6.16,kibana也选的是5.6.16,选好对应版本后复制链接地址
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.16-linux-x86_64.tar.gz |
解压之后到安装目录下的config下,编辑kibana.yml配置文件,添加如下配置:
#配置本机ip |
我们在MySQL中配置了主从之后,只要我们对Master节点进行了写操作,这个操作将会被保存到MySQL的binary-log(bin-log)日志当中,当slave连接到master的时候,master机器会为slave开启binlog dump线程。当master 的 binlog发生变化的时候,Master的dump线程会通知slave,并将相应的binlog内容发送给Slave。而Slave节点在主从同步开启的时候,会创建两个线程,一个I/O线程,一个SQL线程。
I/O线程:该线程链接到master机器,master机器的binlog发送到slave的时候,IO线程会将该日志内容写在本地的中继日志(Relay log)中。SQL线程:该线程读取中继日志中的内容,并且根据中继日志中的内容对Slave数据库做相应的操作。可能造成的问题:在写请求相当多的情况下,可能会造成Slave数据和Master数据不一致的情况,这是因为日志传输过程中的短暂延迟、或者写命令较多,系统速度不匹配造成的。这大致就是MySQL主从同步的原理,真正在其中起到作用的实际上就是这两个日志文件,binlog和中继日志(Relay log)。
[mysqld] |
mysql -u root -p |
mysql> flush tables with read lock; |
mysql> show master status; |
mysqldump -uroot -p --master-data=1 --single-transaction --routines --triggers --events --all-databases > all.sql |
unlock tables; |
[mysqld] |
mysql> CHANGE MASTER TO |
mysql> start slave; |
mysql> show slave status\G; |
当 ****Slave_IO_Running 和 Slave_SQL_Running:都为Yes表示同步设置成功,此时可以在主库修改数据,来看从库是否变更
如果想观察日志都记录了什么咱们可以直接查询对应日志:
#主库binlog查看 在主库mysql命令行执行如下 |
相关参考链接:
执行
go get github.com/beego/bee
安装过程中报错
package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: i/o timeout) |
cd ~/go/src |
vim /etc/profile |
在最后一行添加
export GOROOT=/usr/local/go |
wq保存退出后source一下
source /etc/profile |
执行go version,如果现实版本号,则Go环境安装成
安装Go环境
go语言中文网:https://studygolang.com/dl
打开官网下载地址选择对应的系统版本, 复制下载链接
这里我选择的是
go1.15.2.linux-amd64:https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz |
下载完成
执行tar解压到/usr/loacl目录下,得到go文件夹
tar -C /usr/local -zxvf go1.15.2.linux-amd64.tar.gz
添加/usr/loacl/go/bin目录到PATH变量中。添加到/etc/profile
vim /etc/profile |
在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
wq保存退出后source一下
source /etc/profile
执行go version,如果现实版本号,则Go环境安装成
默认当前已经安装好walle(一个发布系统,http://www.walle-web.io/)
我使用的是centos,进入
/etc/init.d/
目录下,创建开机脚本walle
vi /etc/init.d/walle |
内容如下
#!/bin/bash
# chkconfig: 2345 55 25
# description: walle Service
cd /www/publishing_system/
sh admin.sh start
添加权限
chmod 755 walle
其中2345是默认启动级别,级别有0-6共7个级别。 |
添加脚本到开机自动启动项目中
chkconfig --add walle
chkconfig walle on
可以通过命令查看是否已添加成功
chkconfig --list |
在我们开发项目的过程中一般来说会有测试环境和生产环境,部署体系再完备一点的可能还有beta环境和stage环境。一般来说,测试环境中debug是开启的,测试的时候有可能暴露出很多比较重要的信息,一旦被搞破坏的人知道了测试链接地址,那么测试环境相对不太安全。所以在测试环境我们要开启ip白名单,只有通过公司的内网,或内部服务器进行访问才可以。这样的话,一下子降低了很大的外部风险。
这时可能有人会问,那现在需要在家办公修复一个bug或者比较紧急的项目开发怎么办,难道要给每个开发家里的ip加白名单吗,这种情况最简单的方式是在公司内网做个vpn服务,通过vpn连接公司内网来进行开发工作。
一般来说,nginx的配置文件,nginx.conf通过include引入某一文件夹下的所有以.conf结尾的配置文件
include /www/server/panel/vhost/nginx/*.conf;
- 打开当前项目对应的ng配置 xx.conf
- 配置一下内容
allow xxx.xxx.xxx.xx;
allow xxx.xxx.xxx.xx;
deny all;
如果有伪静态存在 放在一起即可
白名单设置,所有目录统一规则(这样就不用放在location里面了)
|
黑名单设置,根目录限制
location / { |
特定目录访问限制
location /tree/list { |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true