SSR魔改后端安装过程

2016年12月28日星期三

SSR魔改后端安装过程




[v_blue]这篇文章是教你怎么搭建与ss-panel魔改版相结合的ssr服务端的教程,可能会遇到各种问题,我也会在我设置的过程中遇到的问题提出来。肯定会有很多漏洞之类的,还请谅解。[/v_blue]

[v_tips]Debian有一键操作脚本:具体请看菊花大佬的gayhub 反正我是没看懂。[/v_tips]

[v_blue]菊花大佬的通用一键脚本:
如果你是webapi请下载配置文件然后根据文件内容修改并上传到你的网站,然后将命令中的file.digac.cc/SSR/Server/修改为你网站上存放配置文件的目录链接即可
如果你是数据库,请直接使用下面的命令,之后进入主目录修改文件

cd /root && wget -O 55R.sh https://blog.wxlost.com/one/code/onepve/server/55R.sh && chmod +x 55R.sh && bash 55R.sh file.digac.cc/SSR/Server/
[/v_blue]

SSR服务端要求Centos 6系统(推荐64位)

安装基本组件和SSR后端


yum -y install python-setuptools && easy_install pip
pip install cymysql speedtest-cli
yum install git

[v_notice]不想一行一行输入?输入下面这个:[/v_notice]
yum -y install python-setuptools && easy_install pip && pip install cymysql speedtest-cli 
yum -y install git unzip

CHACHA20加密方式支持:


如果要使用salsa20chacha20chacha20 IETF标准的算法,请安装libsodium
[v_blue]参考https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup[/v_blue]
yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.13/libsodium-1.0.13.tar.gz
tar xf libsodium-1.0.13.tar.gz && cd libsodium-1.0.13
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
rm -rf /root/libsodium-1.0.13.tar.gz
cd /root

[v_notice]
不想一行一行输入?输入下面这个:[/v_notice]
yum -y groupinstall "Development Tools" && wget https://github.com/jedisct1/libsodium/releases/download/1.0.13/libsodium-1.0.13.tar.gz && tar xf libsodium-1.0.13.tar.gz && cd libsodium-1.0.13 && ./configure && make -j2 && make install && echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf && ldconfig && rm -rf /root/libsodium-1.0.13.tar.gz && cd /root

(如果提示cannot import name OrderedDict,可能需要给服务器打补丁:第三方插件ordereddict easy_install ordereddict

下载程序源代码



wget https://file.digac.cc/SSR/Server/shadowsocks.zip
unzip shadowsocks.zip

进入 shadowsocksr 这个目录,安装依赖

yum -y install python-devel
yum -y install libffi-devel
yum -y install openssl-devel


Debian 请勿执行下面这个命令,直接 pip install cymysql

pip install -r requirements.txt

[v_notice]如果出现错误:
ERROR: Cannot uninstall 'requests'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

则输入
sudo pip install --ignore-installed requests
[/v_notice]

配置程序


先得到你的配置文件

cd shadowsocks
cp apiconfig.py userapiconfig.py
cp config.json user-config.json


编辑参数


然后主要编辑userapiconfig.py,只需要修改以下2个大类
#节点ID-和你网站添加的节点分配的ID一致!
NODE_ID = 1

#这里必须填,要么选择数据库要么选择httpapi(大多数使用的是数据库,httpapi不知怎么弄,2333)
API_INTERFACE = 'glzjinmod' #glzjinmod (数据库方式连接),modwebapi (http api)

# Mysql 数据库连接信息
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'ss'
MYSQL_PASS = 'ss'
MYSQL_DB = 'shadowsocks'
MYSQL_UPDATE_TIME = 60

#这个虽然可填可不填,但是还是建议把127.0.0.1改成你这台服务器的IP地址
# Manager (ignore this)
MANAGE_PASS = 'ss233333333'
#if you want manage in other server you should set this value to global ip
MANAGE_BIND_IP = '127.0.0.1'
#make sure this port is idle
MANAGE_PORT = 23333

开始运行


[v_notice]到这里基本算是搞完了,接下来还有自启动和优化[/v_notice]

测试服务端是否有错误



cd /root/shadowsocks
python server.py

如果报错,那就再仔细看看到底是哪里的问题。

出现(1042, u”Can’t get hostname for your address”)错误


my.cnf里,[mysqld]项目下
添加

skip-name-resolve

#忽略主机名的方式访问
如果添加了之后且重启之后同样提示1042, u”Can’t get hostname for your address”那么就直接修改hosts,把hosts中全部删除,然后输入

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6



我们优化下


编辑 /etc/security/limits.conf
最后添加

* soft nofile 51200
* hard nofile 51200


然后在运行之前执行

ulimit -n 51200


然后编辑 /etc/sysctl.conf

fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1


sysctl -p 来使其生效。

此处以 centos 6 x64 下配置 supervisord 为例。


rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm --quiet
yum install supervisor python-pip -y
pip install supervisor==3.1
chkconfig supervisord on
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord.conf -O /etc/supervisord.conf
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord -O /etc/init.d/supervisord


编辑 /etc/supervisord.conf 最后一段改成如下的,以 /root/shadowsocks/ 为例

[program:mu]
command=python /root/shadowsocks/server.py
directory=/root/shadowsocks
autorestart=true
startsecs=10
startretries=36
redirect_stderr=true
user=root ; setuid to this UNIX account to run the program
log_stdout=true ; if true, log program stdout (default true)
log_stderr=true ; if true, log program stderr (def false)
logfile=/var/log/mu.log ; child log path, use NONE for none; default AUTO
;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;logfile_backups=10 ; # of logfile backups (default 10)


编辑 /etc/init.d/supervisord 在这两行之间添加 ulimit -n 51200

echo -n $"Starting supervisord: "
ulimit -n 51200
daemon supervisord -c /etc/supervisord.conf


然后

service supervisord start #开始运行守护程序


其他指令


测速
speedtest-cli

关闭防火墙
chkconfig iptables off
service iptables stop

关于升级



cd shadowsocks
git pull

开机自启动-2



echo 'bash /root/shadowsocks/logrun.sh' >> /etc/rc.local
nohup python /root/ServerStatus/clients/client-psutil.py
chmod +x /etc/rc.d/rc.local

Nat小鸡需要端口转发,使用逗比的脚本



wget -N --no-check-certificate https://softs.wtf/Bash/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh #主要下载
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh #备用下载
./iptables-pf.sh


补充:


userapiconfig.py,解释下里面各项配置的意思


# Config


#节点ID

NODE_ID = 1

#自动化测速,为0不测试,此处以小时为单位,要和 ss-panel 设置的小时数一致

SPEEDTEST = 6

#云安全,自动上报与下载封禁IP,1为开启,0为关闭

CLOUDSAFE = 1

#自动封禁SS密码和加密方式错误的 IP,1为开启,0为关闭

ANTISSATTACK = 0

#是否接受上级下发的命令,如果你要用这个命令,请参考我之前写的东西,公钥放在目录下的 ssshell.asc

AUTOEXEC = 1

多端口单用户设置,看重大更新说明。

MU_SUFFIX = 'zhaoj.in'

多端口单用户设置,看重大更新说明。

MU_REGEX = '%5m%id.%suffix'

#不明觉厉

SERVER_PUB_ADDR = '127.0.0.1' # mujson_mgr need this to generate ssr link

#访问面板方式

API_INTERFACE = 'glzjinmod' #glzjinmod (数据库方式连接),modwebapi (http api)

#mudb,不要管

MUDB_FILE = 'mudb.json'

# HTTP API 的相关信息,看重大更新说明。

WEBAPI_URL = 'https://zhaoj.in'

WEBAPI_TOKEN = 'glzjin'

# Mysql 数据库连接信息

MYSQL_HOST = '127.0.0.1'

MYSQL_PORT = 3306

MYSQL_USER = 'ss'

MYSQL_PASS = 'ss'

MYSQL_DB = 'shadowsocks'

# 是否启用SSL连接,0为关,1为开

MYSQL_SSL_ENABLE = 0

# 客户端证书目录,请看 https://github.com/glzjin/shadowsocks/wiki/Mysql-SSL%E9%85%8D%E7%BD%AE

MYSQL_SSL_CERT = '/root/shadowsocks/client-cert.pem'

MYSQL_SSL_KEY = '/root/shadowsocks/client-key.pem'

MYSQL_SSL_CA = '/root/shadowsocks/ca.pem'

# API,不用管

API_HOST = '127.0.0.1'

API_PORT = 80

API_PATH = '/mu/v2/'

API_TOKEN = 'abcdef'

API_UPDATE_TIME = 60

# Manager 不用管

MANAGE_PASS = 'ss233333333'

#if you want manage in other server you should set this value to global ip

MANAGE_BIND_IP = '127.0.0.1'

#make sure this port is idle

MANAGE_PORT = 23333

#安全设置,限制在线 IP 数所需,下面这个参数随机设置,并且所有节点需要保持一致。

IP_MD5_SALT = 'randomforsafety'

链接



链接:安装SSR魔改前端

33 条评论 :

  1. 大神,求助啊!我运行python server.py之后,显示,然后一直都联不上~求助大神!感谢万分!
    loaded collections.OrderedDict
    IPv6 support
    INFO: Read hosts.deny from line 13
    INFO: ShadowsocksR 3.3.0 2017-05-11 mod by esdeathlove
    INFO: current process RLIMIT_NOFILE resource: soft 1024 hard 4096
    INFO: loading config from user-config.json
    2017-05-19 01:27:18 INFO util.py:85 loading libcrypto from libcrypto.so.10
    2017-05-19 01:27:18 INFO asyncdns.py:324 dns server: [('108.61.10.10', 53)]
    2017-05-19 01:27:18 INFO asyncdns.py:324 dns server: [('108.61.10.10', 53)]

    回复删除
  2. 就知识提示这个?没有提示其他内容?

    回复删除
  3. 后端的源码没了..

    回复删除

  4. git clone https://github.com/esdeathlove/shadowsocks.wiki.git



    这个应该是作者发发出来的。你可以看看是不是这个

    回复删除
  5. 大佬,404了,是作者把源码删了...

    回复删除
  6. 可以正常git的,直接用浏览器打开网页肯定是不得行的

    回复删除
  7. git到几个说明文档...最新的auth_chain_b协议不知怎么更新了

    回复删除
  8. 同楼上的小伙伴,遇到了问题,以前都能搭建成功。 运行python server.py
    开始显示正常,然后
    2017-07-28 17:07:06 INFO asyncdns.py:324 dns server: [('100.100.2.138', 53), ('100.100.2.136', 53)]
    2017-07-28 17:07:06 INFO db_transfer.py:820 db start server at port [1025] pass [0oW25p] protocol [origin] method [rc4-md5] obfs [plain]
    2017-07-28 17:07:06 INFO server_pool.py:147 starting server at [::]:1025
    2017-07-28 17:07:06 INFO server_pool.py:177 starting server at 0.0.0.0:1025
    2017-07-28 17:08:06 INFO auto_block.py:88 Read hosts.deny from line 13
    2017-07-28 17:09:06 INFO auto_block.py:88 Read hosts.deny from line 13
    2017-07-28 17:10:06 INFO auto_block.py:88 Read hosts.deny from line 13

    最后这行就无限显示,前端节点列表里显示绿色连接正常,求解决~

    回复删除
  9. 我更新会出错,所以就没有更新上去了

    回复删除
  10. 只要连接正常的话,这些都没必要去纠结的,而且守护程序在后台,你根本看不到啊~python server.py这个命令只是测试其他致命性错误,比如数据库1046啊2002之类的

    回复删除
  11. 现在连接正常,关闭了防火墙,检查了mysql全ip访问,同vps下,就是上不了网,另一个vps却可以,请问还可以尝试什么吗?

    回复删除
  12. 首先你是不是已经确定了mysql远程访问已经打开了?
    如果远程访问打开了,密码这些都是正确的,那么我建议删掉shadowsocks文件夹重新安装。

    回复删除
  13. 还有这种操作的?谢谢大佬,我有机会试下

    回复删除
  14. 没想到吧,惊不惊喜意不意外?

    回复删除
  15. 大神帮我看下,运行server.py后出现
    INFO: loading config from user-config.json
    2017-08-10 16:25:02 INFO util.py:49 loading libcrypto from libcrypto.so.10
    2017-08-10 16:25:02 INFO asyncdns.py:324 dns server: [('108.61.10.10', 53)]
    2017-08-10 16:25:02 INFO asyncdns.py:324 dns server: [('108.61.10.10', 53)]
    2017-08-10 16:26:01 INFO auto_block.py:89 Read hosts.deny from line 13
    2017-08-10 16:27:01 INFO auto_block.py:89 Read hosts.deny from line 13
    2017-08-10 16:28:01 INFO auto_block.py:89 Read hosts.deny from line 13
    无限重复auto_block.py:89 Read hosts.deny from line 13,前端里显示绿色可用的,测速观察窗也有速度显示,就是节点不能用,什么情况呢这是?

    回复删除
  16. 你终止之后再重新运行还是一样的么?还有你要确定所有步骤都走完了,没有提示错误,其实我更建议你一条命令一条命令的输入,这样会比较好。

    回复删除
  17. 正常情况下应该会显示使用的tcp和udp端口,如果没有跑到这个步骤,就说明步骤有问题。或者环境不完整(这个可能性为零,第一步就基本上把需要的都装好了),如果能使用tcping来ping通端口的话,那就说明是你的加密方式或者其他客户端设置不正确,不能ping通那就试试在防火墙里面放行。都不行的话那就rm -rf shadowsocks然后重新从第一步走,因为很多都是装过的,所以都会提示你没有更新或者怎么怎么的之内的,只要在最后没提示error和卡在error那就表示基本没问题的。

    回复删除
  18. dalao求助啊,root@instance-2 shadowsocks]# ./logrun.sh
    [root@instance-2 shadowsocks]# ./tail.sh
    temp_list = str(r[0]).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128)

    2017-08-24 16:19:19 ERROR db_transfer.py:870 Traceback (most recent call last):
    File "/root/shadowsocks/db_transfer.py", line 863, in thread_db
    rows = db_instance.pull_db_all_user()
    File "/root/shadowsocks/db_transfer.py", line 390, in pull_db_all_user
    temp_list = str(r[0]).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128)

    2017-08-24 16:20:19 ERROR auto_block.py:293 Traceback (most recent call last):
    File "/root/shadowsocks/auto_block.py", line 289, in thread_db
    db_instance.auto_block_thread()
    File "/root/shadowsocks/auto_block.py", line 80, in auto_block_thread
    temp_list = str(r[0]).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128)

    2017-08-24 16:20:20 ERROR db_transfer.py:870 Traceback (most recent call last):
    File "/root/shadowsocks/db_transfer.py", line 863, in thread_db
    rows = db_instance.pull_db_all_user()
    File "/root/shadowsocks/db_transfer.py", line 390, in pull_db_all_user
    temp_list = str(r[0]).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128) (数据库上线方式)

    JuiceSSH@instance-2 ~]$ sudo su
    [root@instance-2 JuiceSSH]# cd
    [root@instance-2 ~]# cd shadowsocks
    [root@instance-2 shadowsocks]# ./logru.sh
    bash: ./logru.sh: No such file or directory
    [root@instance-2 shadowsocks]# ./logrun.sh
    [root@instance-2 shadowsocks]# ./tail.sh
    2017-08-24 15:44:35 INFO util.py:49 loading libcrypto from libcrypto.so.10
    2017-08-24 15:44:35 INFO asyncdns.py:324 dns server: [('169.254.169.254', 53)]
    2017-08-24 15:44:35 INFO asyncdns.py:324 dns server: [('169.254.169.254', 53)]
    2017-08-24 15:44:36 ERROR web_transfer.py:672 Traceback (most recent call last):
    File "/root/shadowsocks/web_transfer.py", line 666, in thread_db
    rows = db_instance.pull_db_all_user()
    File "/root/shadowsocks/web_transfer.py", line 238, in pull_db_all_user
    temp_list = str(node['node_ip']).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128)

    2017-08-24 15:45:35 INFO auto_block.py:89 Read hosts.deny from line 13
    2017-08-24 15:45:37 ERROR web_transfer.py:672 Traceback (most recent call last):
    File "/root/shadowsocks/web_transfer.py", line 666, in thread_db
    rows = db_instance.pull_db_all_user()
    File "/root/shadowsocks/web_transfer.py", line 238, in pull_db_all_user
    temp_list = str(node['node_ip']).split(',')
    UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 13: ordinal not in range(128) (api上线方式)
    这个啥情况,之前还好好的,突然有一天发现用户数据开始无法同步到ss节点,网站显示绿色,但是就是连不上,初步判断前后端数据库无法同步,但是不知道怎么解决

    回复删除
  19. 重启服务器,然后重新设置一下。最好是重新装后端程序,还是使用python server.py查看问题最方便,然后启动的话还是用守护程序吧。

    回复删除
  20. 然后好好检查一下你的密码是不是用了中文字符

    回复删除
  21. [root@host ~]# service supervisord start
    Starting supervisord (via systemctl): Job for supervisord.service failed because the control process exited with error code. See "systemctl status supervisord.service" and "journalctl -xe" for details.
    这个怎么解决

    回复删除
  22. Starting supervisord (via systemctl): Job for supervisord.service failed because the control process exited with error code. See “systemctl status supervisord.service” and “journalctl -xe” for details.已经跟你说了问题了啊。从设置limits.conf开始重新弄

    回复删除
  23. 大佬你好。我想问下我在搬瓦工上搭建的时候。端口也已经显示出来了。现在就是连上去的话看不了网页。总是提示等待代理服务器回应,打开youtube就是youtube.com 未发送任何数据。ERR_EMPTY_RESPONSE.阿里云的机子是可以上网但是不能看youtube就很迷

    回复删除
  24. 打开其他网页是不是也是这样的呢?比如google和facebook,还有就是你的端口有没有开放,去百度下载一个tcping放在windows/system32里面,然后cmd,输入tcping 你的服务器ip 端口号 看看能不能ping通

    回复删除
  25. 我阿里云的服务器是Google什么的都可以打开。但是就是youtube打不开。然后bwh的节点。如果只单连这个的话。就是啥都打不开。一直等待代理服务器链接。或者是返回的空数据

    回复删除
  26. 那你试试把搬瓦工的防火墙关闭了,阿里云的这个还真的不知道是啥情况,我没有阿里云的机器,但是我记得以前我用GG云的时候也出现过这种情况,当时是完整的重装了一次系统,然后再来安装的服务端

    回复删除
  27. 2017-11-21 05:05:00 ERROR db_transfer.py:870 Traceback (most recent call last):
    File "/root/shadowsocks/db_transfer.py", line 862, in thread_db
    db_instance.push_db_all_user()
    File "/root/shadowsocks/db_transfer.py", line 288, in push_db_all_user
    self.update_all_user(dt_transfer)
    File "/root/shadowsocks/db_transfer.py", line 79, in update_all_user
    charset='utf8')
    File "/usr/lib/python2.7/site-packages/cymysql/__init__.py", line 85, in Connect
    return Connection(*args, **kwargs)
    File "/usr/lib/python2.7/site-packages/cymysql/connections.py", line 244, in __init__
    self._connect()
    File "/usr/lib/python2.7/site-packages/cymysql/connections.py", line 409, in _connect
    raise OperationalError(2003, "Can't connect to MySQL server on %r (%s)" % (self.host, e.args[0]))
    OperationalError: (2003, "Can't connect to MySQL server on '104.236.177.30' (111)")

    回复删除
  28. 大佬你看,我这错误是这样的。不知道怎么办



    2017-11-22 10:25:48 ERROR webapi_utils.py:38 Traceback (most recent call last):
    File "/root/shadowsocks/webapi_utils.py", line 23, in getApi
    timeout=10)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 501, in get
    return self.request('GET', url, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 473, in send
    raise ConnectionError(err, request=request)
    ConnectionError: ('Connection aborted.', BadStatusLine("''",))

    2017-11-22 10:25:48 ERROR auto_block.py:293 Traceback (most recent call last):
    File "/root/shadowsocks/auto_block.py", line 289, in thread_db
    db_instance.auto_block_thread()
    File "/root/shadowsocks/auto_block.py", line 45, in auto_block_thread
    data = webapi.getApi('nodes')
    File "/root/shadowsocks/webapi_utils.py", line 39, in getApi
    raise Exception('network issue or server error!')
    Exception: network issue or server error!

    2017-11-22 10:25:50 ERROR webapi_utils.py:38 Traceback (most recent call last):
    File "/root/shadowsocks/webapi_utils.py", line 23, in getApi
    timeout=10)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 501, in get
    return self.request('GET', url, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 473, in send
    raise ConnectionError(err, request=request)
    ConnectionError: ('Connection aborted.', BadStatusLine("''",))

    2017-11-22 10:25:50 ERROR web_transfer.py:672 Traceback (most recent call last):
    File "/root/shadowsocks/web_transfer.py", line 660, in thread_db
    ping = webapi.getApi('func/ping')
    File "/root/shadowsocks/webapi_utils.py", line 39, in getApi
    raise Exception('network issue or server error!')
    Exception: network issue or server error!

    回复删除
  29. 你这个是数据库的问题,看看远程数据库开权限没有 ,具体可以百度一下

    回复删除
  30. 你用的API???不是mysql数据库的链接方式?

    回复删除
  31. 博主,请问后端按顺序安装好后,前段也显示绿色了,后端防火墙也关了,时区也同步了,但是节点不可用是什么原因呢

    回复删除
  32. 多试试重启几次服务器,还有就是多试试关闭几次防火墙

    回复删除
  33. 大佬真是一针见血! 忘记改链接模式了

    回复删除