一、服务端

1、安装宝塔

登录 SSH 后,直接安装宝塔。

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

等待安装完成

根据提示连接打开面板页面登陆

进入首页根据提供提示一键安装环境

注意: 服务器配置高可以选Mysql5.5或更高, PHP必须选择7.1版本, phpAdmin看个人使用习惯

安装期间可以自行修改面板设置,这里就不多说了

环境装好后,新建站点(如: sspanel.com)

PHP 设置

1.配置修改 – display_errors关闭

2.配置修改 – system,proc_open,proc_get_status, popen 4个函数删除,还有一个叫p...v...的(忘了)

3.性能调整 – 运行模式改为 静态

安装SSpanel程序

  1. cd /www/wwwroot/sspanel.com
  2. git clone https://github.com/huimsppt/ss-panel-v3-mod_Uim-Carl.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard

*备用地址:https://github.com/wujian271506014/ss-panel-v3-mod_Uim-Carl

下载完毕后,用宝塔进入根目录修改文件夹storage权限为777

  1. php composer.phar install
  2. mv tool/alipay-f2fpay vendor/
  3. mv -f tool/cacert.pem vendor/guzzle/guzzle/src/Guzzle/Http/Resources/
  4. mv -f tool/autoload_classmap.php vendor/composer/

站点设置

关闭跨域 启动目录设置为public

设置伪静态

  1. location / {
  2. try_files $uri $uri/ /index.php$is_args$args;
  3. }

添加数据库


若后期需要设置多节点,那就要权限开放为所有人, 并且自行开发Mysql 3306端口
更多: Mysql远程权限开放

接着导入sql文件

  1. mysql -u你的账号 sspanel -p
  2. //自行填写密码
  3. use sspanel;
  4. source /www/wwwroot/sspanel/sql/glzjin_all.sql;
  5. exit;

如果你熟悉mysql, 可以用自己的方法或工具导入sql文件

SSPanel 配置

进入网站根目录,编辑配置文件 /config
将.config.php.example 文件名的.example删掉
再编辑, 其中muKey是自定义, 但要确保与后端一致(后面会看到)

编辑完成后就能正常打开页面了

接着创建管理员账号

php xcat createAdmin

添加计划任务

每日邮件(可以延长时间或者删除此任务):
php /www/wwwroot/sspanel/xcat sendDiaryMail

每日清理
php -n /www/wwwroot/sspanel/xcat dailyjob

每分钟检查
php /www/wwwroot/sspanel/xcat checkjob

每分钟同步
php /www/wwwroot/sspanel/xcat syncnode

二、后端节点

一、准备
我们先需要在sspanel的前端创建一个节点,在“管理面板”的“节点列表”菜单中,点击“加号”

节点名称自己取;
节点地址填节点的ip,注意是节点的ip;
节点ip填节点的ip,注意是节点的ip;
流量比例默认是1
是否显示要选中,不然前端不显示;
节点状态自己写;
节点描述自己写;
节点等级,大于等于这个数字的用户才能使用这个节点;
节点群组,非本群组的用户不能使用;
节点流量上限自己按需定;
节点流量上线清空日自己定;
节点限速自己定;
然后我们连接到后端节点的vps

二、对接节点

先安装libsodium

yum -y groupinstall "Development Tools"
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

libsodium是给SSR提供chacha20、salsa20、chacha20-ietf等高级加密所必须的扩展库,我们复制上方代码执行。

接着安装后端

cd /root
yum -y install python-setuptools
easy_install pip
git clone -b manyuser https://github.com/lizhongnian/shadowsocks.git
cd shadowsocks
pip install -r requirements.txt
cp apiconfig.py userapiconfig.py
cp config.json user-config.json

*备用地址:https://github.com/wujian271506014/shadowsocks

后端安装完成后,需要手动去修改配置文件

vi userapiconfig.py

这里推荐两种对接方式,二选一:

第一种:数据库对接

上图所示画红色框的地方是必填项
NODE_ID = 这里输入前端的节点ID
下面填写数据库信息
API_INTERFACE = ‘glzjinmod’ 务必选择glzjinmod
Mysql下面填写前端的MySQL数据库信息
请注意:此处需要放开数据库的远程连接权限,宝塔用户如下图:

第二种:webapi对接

如上图
NODE_ID = 这里输入前端的节点ID
API_INTERFACE = ‘modwebapi’ 务必选择modwebapi
WEBAPI_URL = ‘http://ss.7color.tk’ 这里需要把地址改成前端地址,务必区分http和https
WEBAPI_TOKEN=‘7colorblog.com’ 这里需要改为前端配置文件里的mukey

二选一按照上面的方法修改,我们接下来开启后端测试一下:

python server.py

复制执行。
我们回到前端节点列表看一下节点是否在线

回到后端,按下ctrl+c
然后复制执行下方语句就可以后台运行了

./run.sh

加入启动项

chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local

在下方输入,保存退出即可

bash /root/shadowsocks/run.sh

三、服务器设置

1、修改时区

timedatectl set-timezone Asia/Shanghai

2、批量开放tcp、udp端口

firewall-cmd --permanent --zone=public --add-port=10000-65535/tcp
firewall-cmd --permanent --zone=public --add-port=10000-65535/udp
firewall-cmd --reload
 

centos7+宝塔+ssrpanel v3 魔改版 前后端配置教程的更多相关文章

  1. 【宝塔面板】centOS部署前后端分离所有遇到的坑,Django

    1:刚刚买完服务器,在宝塔面板安装完一切工具,Django顺利运行后(不能运行一般是起了中文名) # 问题:想迁移数据库,结果发现-bash: python3: command not found# ...

  2. 项目测试环境自动化部署[jenkins前后端配置、Nginx配置]

    持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解 ...

  3. Vue2+Koa2+Typescript前后端框架教程--05Sequelize的使用(ORM)

    本篇开始分享Node.js后端服务开发中对于数据结构ORM的实现,主要使用的技术栈是:Sequelize. 上一篇文章中讲到班级管理的数据结构:ID,班级名称,班级编码,班主任ID,使用的数据库是My ...

  4. Vue2+Koa2+Typescript前后端框架教程--03后端路由和三层模式配置

    昨天将Koa2的基础框架和自动编译调试重启服务完成,今天开始配置路由和搭建基础的三层架构模式. 路由中间件:koa-router,即路由导航,就是我们平时使用最广泛的get/post方法执行的URL路 ...

  5. Vue2+Koa2+Typescript前后端框架教程--04班级管理示例(路由调用控制器)

    上篇文章分享了简单的三层模式和基础文件夹的创建,本篇将以示例的形式详细具体的展示Router.Controller.Service.Model之间业务处理和数据传输. 1. 班级管理数据模型创建.数据 ...

  6. centos7部署前后端分离项目的过程

    概述 本文主要讲解在安装了centos7的Linux主机中部署前后端分离项目的过程. 前端项目名为:vue_project:后端项目名为:django_project. 将这两个项目放在/opt/wh ...

  7. sspanelv3魔改版邮件设置指南及常用配置

    要进行SSpanel v3魔改版邮件设置,需要在设置文件(位于config/.config.php下)中修改两处内容: 1.设置发送邮件的方式 $System_Config['enable_email ...

  8. 魔改版ss-panel v3前端配置文件

    配置文件所在目录:网站根目录/config/.config.php <?php // ss-panel v3 配置 // // !!! 修改此key为随机字符串确保网站安全 !!! $Syste ...

  9. 前后端分离后台管理系统 Gfast v3.0 全新发布

    GFast V3.0 平台简介 基于全新Go Frame 2.0+Vue3+Element Plus开发的全栈前后端分离的管理系统 前端采用vue-next-admin .Vue.Element UI ...

随机推荐

  1. 一段小代码秒懂C++右值引用和RVO(返回值优化)的误区

    关于C++右值引用的参考文档里面有明确提到,右值引用可以延长临时变量的周期.如: std::string&& r3 = s1 + s1; // okay: rvalue referen ...

  2. HDU4388-Stone Game II-Nim变形

    http://acm.hdu.edu.cn/showproblem.php?pid=4388 Nim变形,对一个\(n\)个石子的堆,每次取\(k(0<k<n)\)个(注意不能全取光),同 ...

  3. Spring Data JPA 的 Specifications动态查询

    主要的结构: 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询. ...

  4. 2020软件测试工程师面试题汇总(内含答案)-看完BATJ面试官对你竖起大拇指!

    测试技术面试题 1.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台.软件平台上是否可以正常的运行,即是通常说的软件的可移植性. 兼容的类型,如果细分的话 ...

  5. Vue2+Koa2+Typescript前后端框架教程--04班级管理示例(路由调用控制器)

    上篇文章分享了简单的三层模式和基础文件夹的创建,本篇将以示例的形式详细具体的展示Router.Controller.Service.Model之间业务处理和数据传输. 1. 班级管理数据模型创建.数据 ...

  6. spring依赖注入的方式(一)

    为了方便类的管理,spring提供了依赖注入的思想:类的实例化不由程序员控制,而是交给sprig容器进行管理. spring提供了多种类型的注入方式---注解.xml注入: 1  注解注入 有两种:@ ...

  7. 如何定位CPU瓶颈?

    CPU是通常大家最先关注的性能指标,宏观维度有核的CPU使用率,微观有函数的CPU cycle数,根据性能的模型,性能规格与CPU使用率是互相关联的,规格越高,CPU使用率越高,但是处理器的性能往往又 ...

  8. redis系列:分布式锁

    redis系列:分布式锁 1 介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁.会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁. 本篇文章会将分布式锁的实现分 ...

  9. java中装箱,拆箱

    (1)包装类 java中不能定义基本数据类型的对象,但是提供了基本数据类型的包装类来解决这一问题,例如int类型的包装类Integer, 包装类的常用方法有Integer.ParseInt()方法类将 ...

  10. Java并发包源码学习系列:CLH同步队列及同步资源获取与释放

    目录 本篇学习目标 CLH队列的结构 资源获取 入队Node addWaiter(Node mode) 不断尝试Node enq(final Node node) boolean acquireQue ...