【原】我的SS服务构建——备忘

前言:由于某些原因,在原版ss-panel基础上,进行了一定的修改,不适合大众使用此方法构建,为了我自己备忘而已。当然,除此之外,也供大家参考。

环境:Linux + python + mysql (主从库,每个库与服务都在不同的地域)

个人部署步骤:

1、安装必备软件(如果是7.0以下的版本,安装mysql-server mysql):

# yum install -y mariadb-server mariadb python

2、部署安装pip:

# python get-pip.py

3、部署安装必备的python依赖:

# pip install setuptools cymysql

4、修改从数据库配置文件:

# vim /etc/my.cnf

在[mysqld]下添加:

bind-address=127.0.0.1

server-id=需要与从库和主库不同

5、进入主库,添加一个从库的用户:

SQL> grant replication slave on *.* to 用户名@IP地址 identified by '密码';
SQL> flush privileges;
SQL> show master status;

(记录下log file)

6、导出当前主库的数据库并拷贝至从库:

# mysqldump -u root -p 数据库名 > 123.bak.sql
# scp 123.bak.sql root@IP地址:/root/

7、执行命令启动从数据库并进行修改:

# systemctl start mariadb.service
# systemctl enable mariadb.service
# mysql -u root
SQL> create database 数据库名;
# mysql -u root -p 数据库名 < 123.bak.sql
SQL> grant all privileges on 数据库名.* on 用户名@localhost identified by '密码';
SQL> flush privileges;
SQL> change master to master_host='主库的IP', master_port=3306, master_password='密码', master_user='用户', master_log_file='日志文件', master_log_pos=第五步中的pos;

开启从库:

SQL> start slave;

检查状态:

SQL> show slave status;

如果Slave_IO_Running  与 Slave_SQL_Running 都不为yes,则下面肯定有提示,如果提示Slave_IO_Running为no,并提示log file问题,则可采取的解决方案为:

(1)停止从库:

SQL> stop slave;

(2)进入主库:

SQL> flush log;
SQL> show master status;

(3)进入从库:

SQL> CHANGE MASTER TO MASTER_LOG_FILE='新的日志文件名',MASTER_LOG_POS=pos点;

(4)启动从库:

SQL> start slave;

(5)检测主库的状态(可选):

SQL> show processlist;

8、修改shadowsocks/Config.py文件,修改本地的数据库账号以及密码。

9、启动执行ss进程,即可:

# python server.py m &

附言:

之所以我会这么做,由于地域跨度比较大,ss运行途中,需要频繁读取用户流量剩余量,不如直接读取本地,本地显示用户有剩余流量,就可以使其连接。

所以主库用于签到等流量增改操作,拷贝一份数据库置于节点上,使ss在运行中直接查询访问本地节点的数据库。

而本地节点的用户流量修改,为了数据同步,对ss进行了基本的更改,使其update操作全部发送到主库中,再由主库推送到底下各个从库。


前段时间看过的一篇文章,还不错,分享了:

http://blog.csdn.net/hguisu/article/details/7325124

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注