400-638-8808
|
微信公眾號




穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護

注意:本文所有操作都是默認使用 root 用戶,默認服務器系統(tǒng)為centos7
1.安裝shadowsocks
1.1 添加epel源
首先添加epel源,以保證能正確安裝shadowsocks的各項依賴
yum install epel-release -y
安裝完成后清理配置并重建緩存
yum clean all
yum makecache
更新
yum update
1.2 安裝shadowsocks
首先安裝git并用git下載源碼
yum install git -y
git安裝完成后下載shadowsocks源碼
git clone https://github.com/shadowsocks/shadowsocks-libev.git
改變工作目錄到剛下載的源碼目錄
cd shadowsocks-libev
更新子模塊
git submodule update --init --recursive
接下來安裝shadowsocks的各種依賴 要注意輸出的安裝信息確保所有依賴正確安裝,如各別依賴無法自動安裝則需手動安裝,一般正確更新了epel源都可以自動安裝所有依賴
yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
依賴全部成功安裝后,用源碼編譯安裝shadowsocks
注意當前工作目錄應為剛下載的shadowsocks-libev源碼目錄
./autogen.sh && ./configure && make
make完成后進行安裝
make install
2.用戶配置
2.1 單用戶配置
在任意目錄下建立一個配置文件,例如在root目錄下建立ss_serverConfig
vi /root/ss_serverConfig
{
"server": "111.111.111.111", # 你vps的ip地址
"server_port": 8388, # shadowsocks server要使用的端口,自行設定
"local_port": 1080, # 本地端口,自行設定
"password": "barfoo!", # 密碼,自行設定
"timeout": 600, # 超時毫秒數
"method": "chacha20-ietf-poly1305" # 加密方式,建議優(yōu)先選chacha20-ietf-poly1305,若客戶端不支持,可選aes-256-cfb
}
寫好配置文件后運行ss-server(非libev版使用ssserver命令)
ss-server -c /root/ss_serverConfig
-c 參數是使用配置文件
2.2多用戶配置
多用戶配置文件與單用戶不同,我們還是在root下創(chuàng)建一個ss_managerConfig
vi /root/ss_managerConfig
{
"server": "111.111.111.111", # 你vps的ip地址
"local_port": 1080, # 本地端口,自行設定
"timeout": 600, # 超時毫秒數
"method": "chacha20-ietf-poly1305", # 加密方式,建議優(yōu)先選chacha20-ietf-poly1305,若客戶端不支持,可選aes-256-cfb
"port_password": {
"8388": "barfoo1", # 端口號與密碼
"8389": "barfoo2"
}
}
多用戶配置時,應用ss-manager而不是ss-server
ss-manager -c /root/ss_managerConfig
這時我們發(fā)現不論是ss-server還是ss-manager都是前臺程序,掛在前臺執(zhí)行,監(jiān)聽端口,使用ctrl+c停止后,服務也就停止了。有兩個方法使程序運行到后臺。
1.程序運行后,我們可以使用ctrl+z鍵使程序掛起到后臺,使用jobs命令查看程序編號, 若后臺無其他程序一般編號為1,再用bg 1命令,使程序在后臺運行。
2.也可以在程序運行代碼的后面加一個&符號,使程序一開始就在后臺運行。
這時看起來一切都沒問題了,可是當我們退出登陸我們的vps后,發(fā)現服務又出問題了。原因是后臺運行的服務程序與登陸賬戶是相關的,當登陸賬戶退出時, 通過該賬戶運行的后臺程序也會接到退出信號。這時我們可以使用nohup使程序與登陸賬戶無關,不再接收賬戶退出時的退出信號。
單用戶:
nohup ss-server -c /root/ss_serverConfig &
多用戶時則用ss-manager:
nohup ss-manager -c /root/ss_managerConfig &
3.shadowsocks開機自啟動
通過上面的文章,我們已經可以使shadowsocks服務良好地運行了,但你一定不想每次重啟服務器時都要運行一遍上面的代碼。那么我們就可以使用centos7的systemctl將程序注冊為一個隨著開機自動啟動的服務。
注意:此方法基于centos7,不適用centos6。
centos7 設置自啟動時,應在/usr/lib/systemd/system下新建一個.service文件,例如ss.service。
vi /usr/lib/systemd/system/ss.service
[Unit]
Description=shadowsocks manager # 服務的描述
After=network.target # 該服務跟在哪個服務后啟動
[Service]
Type=forking # 啟動時的進程行為,forking是以fork形式從父進程創(chuàng)建子進程,子進程創(chuàng)建后父進程退出
ExecStart=/root/startSS # 啟動服務時執(zhí)行的命令
PrivateTmp=true # 使用私有臨時文件目錄
[Install]
WantedBy=multi-user.target # 附掛在multi-user.target下
本來直接在ExecStart處填nohup /usr/local/bin/ss-manager -c /path/to/config/file & 但是ExecStart指令串僅接受“指令 參數 參數…”的格式,不能接受<,>,»,|,&等特殊字符,很多的 bash 語法也不支持。 所以,要使用這些特殊的字符時,應直接寫入到指令腳本里面。故用將以上命令寫在一個bash可執(zhí)行文件中,例如startSS。
vim /root/startSS
#!/bin/bash
nohup /usr/local/bin/ss-manager -c /path/to/config/file &
保存文件后增加執(zhí)行權限
chmod 754 startSS
所有配置文件與腳本都設置完畢,使用systemctl開啟服務。 更改.service文件后,都要重載守護進程更新systemctl
systemctl daemon-reload
啟動服務
systemctl start ss.service
查看服務狀態(tài),若為綠色active(running)則說明服務成功啟動
systemctl status ss.service
設置服務開機自啟動
systemctl enable ss.service
還可使用 systemctl restart ss.service 重啟服務,使用 systemctl stop ss.service 停止服務
注意:本文僅供個人交流學習研究使用,請勿用于非法用途。本站不提供任何技術和產品支持,請勿咨詢。
天下數據手機站 關于天下數據 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網站備案 解決方案 域名注冊 網站地圖
天下數據18年專注海外香港服務器、美國服務器、海外云主機、海外vps主機租用托管以及服務器解決方案-做天下最好的IDC服務商
《中華人民共和國增值電信業(yè)務經營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務熱線:4006388808香港服務電話:+852 67031102
本網站的域名注冊業(yè)務代理北京新網數碼信息技術有限公司的產品