首先,对系统来一次升级,以解决一些莫名其妙的依赖问题。

sudo yum update

然后安装Python-pip。

sudo yum -y install python-pip  

注意,通过yum包管理工具安装的pip版本很旧,为防止出现问题,请更新pip。

pip install --upgrade pip  

为了防止出现一些不可描述的错误,请清除缓存。

sudo yum clean all  

然后执行ShadowSocks的安装命令。

pip install shadowsocks 

安装完成,但是显然还没配置完成。

接下来开始配置。

首先新建一个json配置文件。

vi /etc/shadowsocks.json  

在vi窗口中按下键盘i,切换到输入模式,并输入以下代码:(一定要注意里面的标点符号,99%的报错来源于此)

{
   "server":"server_ip",
   "server_port":25,
   "local_address": "127.0.0.1",
   "local_port":1080,
   "password":"password",
    "timeout":300,
   "method":"aes-256-cfb",
   "fast_open": false
}   

别想着直接复制,自己手打进去吧,里面的server_ip换成自己的服务器公网ip,server_port字段自己改成你要的外网端口,password字段改成你要设置的密码,然后下面的method字段改成自己需要的加密方式。

输入完成后按esc退出输入模式,然后输入:wq,回车,保存并退出。

接下来设置ShadowSocks服务。

新建一个服务配置文件。

vi /etc/systemd/system/shadowsocks.service  

然后键入以下内容,保存并退出。

[Unit]
Description=***  

[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json  

[Install]
WantedBy=multi-user.target  

启用服务:

systemctl enable shadowsocks  

启动服务:

systemctl start shadowsocks  

查看服务状态:

systemctl status shadowsocks -l  

如果出现报错,它会提示报错的内容,自己再检查,或者搜索即可解决。

然后开启对应端口:

firewall-cmd --zone=public --add-port=25/tcp --permanent  

里面的25要改成你自己定义的那个外网端口。

然后使用你的客户端,按照配置文件的内容去链接,就可以使用了。

注意,如果重启后发现无法连接,请使用命令查看服务状态,然后再尝试重启服务:

systemctl restart shadowsocks

ss1的更多相关文章

  1. CRL快速开发框架系列教程十三(嵌套查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  2. JAVA的内存模型(变量的同步)

    一个线程中变量的修改可能不会立即对其他线程可见,事实上也许永远不可见. 在代码一中,如果一个线程调用了MyClass.loop(),将来的某个时间点,另一个线程调用了MyClass.setValue( ...

  3. html5 audio总结

    前言 html5中对音频,视频播放原生支持.最近做了一个音乐播放器,得益于快过年了,才能抽出一点时间来总结一下.总的来说,html5对audio的支持非常强大, 难怪flash要死.浏览器上装播放插件 ...

  4. MessageBox.Show()的各种用法

    [函数] <整型> MessageBox(<字符串> Text, <字符串> Title, <整型> nType,MessageBoxIcon); [函 ...

  5. Swift3 - String 字符串、Array 数组、Dictionary 字典的使用

    Swift相关知识,本随笔为 字符串.数组.字典的简单使用,有理解.使用错误的地方望能指正. ///************************************************** ...

  6. ambari2.4.2_centos7 学习全纪录

    目录: 为什么要用Ambari 概念概述 原理简介 安装 创建集群 创建集群 手动修改配置 NameNode HA 安装SmartSense 二次开发 为什么要用Ambari Ambari 是 Apa ...

  7. fail树

    前置技能:AC自动机 假设我们有了一个AC自动机,然后在上面进行字符串匹配. 上面是一个有四个字符串的AC自动机(abcde.aacdf.cdf.cde),虚线是fail指针,实线是转移. 这是上一次 ...

  8. linux0.11改进之四 基于内核栈的进程切换

    这是学习哈工大李治军在mooc课操作系统时做的实验记录.原实验报告在实验楼上.现转移到这里.备以后整理之用. 完整的实验代码见:实验楼代码 一.tss方式的进程切换 Linux0.11中默认使用的是硬 ...

  9. lucene+IKAnalyzer实现中文纯文本检索系统

    首先IntelliJ IDEA中搭建Maven项目(web):spring+SpringMVC+Lucene+IKAnalyzer spring+SpringMVC搭建项目可以参考我的博客 整合Luc ...

随机推荐

  1. Unity3D C#事件管理:EventManager

    原文地址:http://bbs.9ria.com/thread-153258-1-1.html 原project地址:https://github.com/djandrew/UnityEventMan ...

  2. socket编程python+c

    python版: server: def socket_loop_server_function(): HOST = '192.168.56.1' PORT = 21567 sk = socket.s ...

  3. Symfony 如何使用ckeditor

    首先: 1)加载以下两个bundle "egeloen/ckeditor-bundle": "^4.0","helios-ag/fm-elfinder ...

  4. LeetCode:三个数的最大乘积【628】

    LeetCode:三个数的最大乘积[628] 题目描述 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积. 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1 ...

  5. jQuery:[1]实现图片上传并预览

    jQuery:[1]实现图片上传并预览 原理 预览思路 1.当上传对象的input被触发并选择本地图片之后获取要上传的图片对象的URL: 2.把对象URL赋值给实现写好的img标签的src属性 Fil ...

  6. rest-client restclient get post写法

    get url = "https://api.weixin.qq.com/sns/jscode2session" data = { appid: "××××", ...

  7. cordova屏幕尺寸

    <platform name="android"> <!-- ldpi : 36x36 px mdpi : 48x48 px hdpi : 72x72 px xh ...

  8. [原创]Scala学习:Tuple,Array,Map ,文件操作

    1.Tuple:元祖.是一个有用的容器对象. 1)特点:  ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变:  ② 元祖可以包含不同类型的数据,对象:   ③ 索引是从 '_1 ...

  9. P4965 薇尔莉特的打字机

    题目 P4965 薇尔莉特的打字机 快到十二点了正在颓废突然发现了一道好题 虽然毒瘤,但确实是容斥原理的好题啊,做法也特别巧妙(标程 思路 题目大意(怕自己突然忘) n个初始字符,m个操作(加入或删除 ...

  10. hibernate复习第(4)天

    1.hibernate的映射类型.hbm.xml中property中的type属性.这个type属性是表示持久化类中的属性对应数据库中的什么数据类型,用来构建一种映射type的可选值:hibernat ...