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

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. android 多语言(在APP里面内切换语言)

    创建SharedPreferences的管理类 public class PreferenceUtil { private static SharedPreferences mSharedPrefer ...

  2. python3函数内全局变量使用global

    def p_num(): global num num = 10 print (num) num = 5 p_num() print(num)

  3. Gem简介

    Rubyems:简称gems是一个用于对rails组建近些年个打包的ruby打包系统,它提供了一个分发ruby程序喝库的标准格式,还提供了一个管理程序包的工具.Rubyems的功能类似于linux下的 ...

  4. iOS9 - 采用3D Touch

    iPhone 6s/6s Plus提供了触摸屏的另一个维度的操作手势-3D Touch,通常有下面两种应用场景: 在主屏幕上重按APP图标可以提供进入APP特定功能的快捷菜单 在APP内部,可以通过重 ...

  5. 【leetcode刷题笔记】Substring with Concatenation of All Words

    You are given a string, S, and a list of words, L, that are all of the same length. Find all startin ...

  6. http keep-alive简解

    http协议中,客户端发送请求,服务端在接收到请求后,返回所需要的数据后可以关闭连接,这样客户端读取完数据时会返回EOF(-1),表明数据已接受完全 备注:EOF end of file 什么是kee ...

  7. 20145229吴姗珊《Java程序设计》2天总结

    20145229吴姗珊<Java程序设计>2天总结 教材学习内容总结 异常处理 1.使用try.catch Java中所有错误都会被包装成对象,可以尝试(try)执行程序并捕捉(catch ...

  8. <linux是怎么跑的?>傻瓜视角看linux引导启动过程

    每天开机关机,除了“等”之外,你得了解你的操作系统开机的时候真正做了什么? 一. 书上都是这么讲的 CPU自身初始化:硬件初始工作,以PC/IP寄存器跳转到BIOS首地址为结束标志. ->加电自 ...

  9. 八 Django框架,模板语言

    模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到html用模板语言渲染 {{...}}接收一 ...

  10. Selenium-webdriver基本操作1

    #! /usr/bin/env python #coding=utf-8 from selenium import webdriver import time print("====浏览器最 ...