無作為
不僅僅是一種態度!

红运快三开奖跨度查询:完美解決oneinstack/寶塔面板不兼容云鎖+正確的自編譯教程

红运快三高手计划 www.syvwfz.com.cn 這幾天換服務器的事情一直糾結了很久,發現云鎖居然和寶塔面板還有oneinstack這種一鍵搭建環境的面板不兼容!

而且官方給出的自編譯教程也是錯亂的,表示經過幾天的摸索終于完美解決了不兼容和自編譯出錯的問題。

開啟云鎖cpu占用高

以下所有測試都為linux-centos7環境下測試!

首先云鎖最新的版本自身就有問題,會導致安裝oneinstack一鍵安裝包或者寶塔面板后,開啟云鎖,cpu占用高,直接達到了50%-90%。

云鎖官方群給出的解決辦法就是:

關閉云鎖守護:service yunsuo_guard stop站cpu使用不影響云鎖。

表示沒點用,開啟云鎖之后,不只要安裝了就莫名其妙依舊cpu占用高,負載滿狀態。

這里給出完美解決方法,在8月14號官方更新了最新版本,解決了這個問題,這是辦法一。

之前的老版本云鎖沒有這個問題,我們直接安裝老版本即可,這里一共兩個云鎖安裝包給大家,推薦選官方最新的安裝包。

一個是2017年2月12號的,一個是最新官方版2018年8月14號的,下方下載頁面即可直接下載。

云鎖正確的自編譯教程

表示官方的自編譯都是錯的,弄了好幾個小時,重復嘗試都是無果的,這里看到了某博客分享的有關于寶塔面板+云鎖自編譯的教程。

然后操作測試成功了,方法適合所有自編譯,不管是不是寶塔或者還是一鍵lnmp、oneinstack等等都可以,也包括了你自己手動搭建的環境。

寶塔面板云鎖自編譯教程

這里就以寶塔測試,所有環境都按照這個步驟來,每一步操作無作為都會給大家翻譯,其他環境對著改就好了。

如果你是寶塔面板,而且還是nginx1.12.2的版本,你可以直接復制黏貼下面的代碼:

//后面是注釋,不要復制,該復制執行的代碼為數字+.以后的,包括了代碼前空格,代碼后空格不需要
1.cd /www/server/nginx/sbin/     //打開目錄
2.cp nginx nginx.bak          //備份文件
3.cd ~           //轉到根目錄
4./www/server/nginx/sbin/nginx -V      //(確認你的版本是1.12.2再進行下一步)
5.wget //nginx.org/download/nginx-1.12.2.tar.gz     //下載Nginx
6.tar zxvf nginx-1.12.2.tar.gz          //解壓Nginx
7.cd /root               //到根目錄
8.wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip      //下載???
9.unzip nginx-plugin-master.zip           //解壓???
10.cd nginx-1.12.2           //到Nginx目錄
11. ./configure --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_v2_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --add-module=/root/nginx-plugin-master
12. make      //步驟11記得復制前面的空格,直接執行即可,步驟12為編譯Nginx文件
13.rm -rf /www/server/nginx/sbin/nginx             //刪除原來已經安裝的Nginx
14.cp objs/nginx /www/server/nginx/sbin/          //把新編譯的替換
15.service nginx restart               //重啟Nginx

其他環境編譯:

這是官方給出的編譯教程:Nginx/Tengine 自編譯說明,我們無視第四步,然后繼續操作,第8/9步拼湊的代碼如下:

自己獲取的路徑不同,代碼可能不同,不過最后–add一段是一樣的。

例如,無作為這里輸入:/www/server/nginx/sbin/nginx -V

獲取的版本號和顯示的路徑是這樣的:

configure arguments: –user=www –group=www –prefix=/www/server/nginx –with-openssl=/www/server/nginx/src/openssl –add-module=/www/server/nginx/src/ngx_devel_kit –add-module=/www/server/nginx/src/lua_nginx_module –add-module=/www/server/nginx/src/ngx_cache_purge –add-module=/www/server/nginx/src/nginx-sticky-module –add-module=/www/server/nginx/src/nginx-http-concat –with-http_stub_status_module –with-http_ssl_module –with-http_v2_module –with-http_image_filter_module –with-http_gzip_static_module –with-http_gunzip_module –with-stream –with-stream_ssl_module –with-ipv6 –with-http_sub_module –with-http_flv_module –with-http_addition_module –with-http_realip_module –with-http_mp4_module –with-ld-opt=-Wl,-E –with-ld-opt=-ljemalloc –with-pcre=pcre-8.40

官方是說在后面直接加: –add-module=/root/nginx-plugin-master

其實需要刪除代碼打劃橫線的部分,再添加 –add-module=/root/nginx-plugin-master

然后官方教程第10步無視,直接按照寶塔面板編譯教程來完成后續步驟即可。

到此即可完美的自編譯成功!

最后:自編譯成功了,web防護就不用開了,自編譯就代替了web防護,兩者只能開一個。

別到時候因為只能開一個就覺得是不是防護失敗了,不是的,官方這點也沒說明。

為什么你的圖片開了兩個?

因為我沒有點擊右上角的刷新,自編譯和web防護是一個功能!

如果你實在不會,可以聯系我幫你編譯不過不免費,留言即可。

oneinstack環境編譯云鎖

圖文教程:查看原圖

代碼如下:

編譯安裝

由于OneinStack使用的是Nginx1.10.0,而云鎖現階段支持Nginx最高版本為1.9.*,所以Oneinstack的用戶需要自己編譯Nginx,使云鎖識別。具體編譯執行步驟如下:
1. 編譯前先將已經安裝的Nginx文件進行備份
cd /usr/local/nginx/sbin/
cp nginx nginx.bak

2. 進入OneinStack的src目錄,解壓Nginx1.10.0壓縮包
cd /root/oneinstack/src/
tar zxvf nginx-1.10.0.tar.gz

3. 由于其不支持post過濾,所以需要修改nginx源碼目錄下ngx_http_upstream.c 文件,在static void ngx_http_upstream_init_request(ngx_http_request_t *r);行上方添加:“intngx_http_yunsuo_post_in_handler(ngx_http_request_t *r);”和在ngx_http_upstream_init_request后,添加:
if(ngx_http_yunsuo_post_in_handler(r)) {
return;
}
cd nginx-1.10.0/src/http/
vim ngx_http_upstream.c
int
ngx_http_yunsuo_post_in_handler(ngx_http_request_t *r);
——————-上面這段是添加的———————

static void
ngx_http_upstream_init_request(ngx_http_request_t *r)
{
ngx_str_t *host;
ngx_uint_t i;
ngx_resolver_ctx_t *ctx, temp;
ngx_http_cleanup_t *cln;
ngx_http_upstream_t *u;
ngx_http_core_loc_conf_t *clcf;
ngx_http_upstream_srv_conf_t *uscf, **uscfp;
ngx_http_upstream_main_conf_t *umcf;

——————–這段是添加的—————-
if (ngx_http_yunsuo_post_in_handler(r)) {
return;
}
————————————————

if (r->aio) {
return;
}
復制代碼

4. 下載云鎖防護插件壓縮包
cd /root
wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip

5. 解壓云鎖防護插件壓縮包nginx-plugin-master.zip
unzip nginx-plugin-master.zip

6. 獲取當前云鎖插件源碼所在目錄的全路徑
pwd

7. 查看當前nginx加載的???,在編譯加載云鎖防護??櫚氖焙蛉孕杓釉卣廡┠??br /> /usr/local/nginx/sbin/nginx –V

8. 進入nginx源碼目錄,根據第7步獲取的編譯參數對nginx進行編譯;編譯時添加云鎖防護???,路徑為第6步獲取的云鎖防護??樵綽肴肪丁?root/nginx-plugin-master”;
cd oneinstack/src/nginx-1.10.0/
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_stub_status_module –with-http_v2_module –with-http_ssl_module –with-ipv6 –with-http_gzip_static_module –with-http_realip_module –with-http_flv_module –with-pcre=../pcre-8.38 –with-pcre-jit –with-ld-opt=’-ljemalloc’ –add-module=/root/nginx-plugin-master

configure完成后進行make
make

9. 將系統中原有的nginx用重新編譯生成的nginx文件替換,替換后重啟nginx使新編譯nginx生效
rm -rf /usr/local/nginx/sbin/nginx
cp objs/nginx /usr/local/nginx/sbin/

10. 讓云鎖識別新編譯的nginx
① 安裝云鎖,如已經安裝則忽略此步驟。安裝步驟參照“云鎖v1.0-“Linux版”安裝步驟”
② 編譯nginx路徑,使云鎖識別
cd /usr/local/yunsuo_agent/nginx/
./configure_compile_nginx /usr/local/nginx/

到此通過PC端連接到服務器端,在PC端的界面上可以看到已識別nginx插件。

最新補充:2018年9月7日

如果oneinstack編譯失敗,請自己解壓目錄所需文件,還原路徑,即可正常編譯,如果實在不會可以聯系QQ:834723797,備注云鎖,不免費。

卸載插件

1. 通過PC端卸載
將安裝是備份的nginx.bak文件復制到云鎖nginx目錄的back下,覆蓋原有nginx.bak文件。這樣就可以在云鎖PC端直接卸載了。
cd /usr/local/nginx/sbin/
rm -rf /usr/local/yunsuo_agent/nginx/backup/nginx.bak
cp nginx.bak /usr/local/yunsuo_agent/nginx/backup/

2. 刪除文件
手動刪除或者重命名 /usr/local/yunsuo_agent/nginx/ 目錄下的 libnginx_plugin.so(此操作需要關閉云鎖自?;すδ埽?, 重啟 nginx 服務即可。

3. 使用原文件替換
手動使用系統原有的nginx直接替換當前使用的帶有云鎖插件的nginx。

FAQ

1. 編譯時可能出現的幾種錯誤解決方法
① 遇如下錯誤信息 : cc1: all warnings being treated as errors, 編譯器把警告信息作為錯誤處理了
解決: 修改 objs/Makefile
把CFLAGS = -pipe -O -W -Wall -Wpointer-arith-Wno-unused-parameter -Werror -g修改為:CFLAGS = -pipe -O -W -Wall -Wpointer-arith-Wno-unused-parameter -g即去掉-Werror選項
重新make,注意是重新make而不是重新./configure
② 遇如下錯誤信息:undefined reference to `dlclose’,由于編譯器版本過高,需要在鏈接時,加入-ldl 選項
解決: 修改 objs/Makefile
搜索 -lpthread,定位到該行結束,加入 -ldl
形如 -lpthread -lcrypt 修改為 -lpthread -lcrypt -ldl
重新 make,注意是重新make而不是重新./configure


歷史上的今天:
贊(21) 打賞
所有免費資源、福利、電影、破解軟件未經允許不得轉載:红运快三高手计划 www.syvwfz.com.cn红运快三高手计划 » 完美解決oneinstack/寶塔面板不兼容云鎖+正確的自編譯教程

留下評論 3

  1. #1

    大佬你好。。這個是個什么軟件啊?請問一下

    KingVee20C42年前 (2018-08-18)回復

無作為-不僅僅是一種態度

登錄/注冊廣告合作

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞