1. 程式人生 > 其它 >群暉使用web station部署librespeed下載無速度或速度慢的解決方法

群暉使用web station部署librespeed下載無速度或速度慢的解決方法

安裝 Nginx

1. nginx 安裝環境

nginx 是 C 語言開發,建議在 linux 上執行

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

2.將 Nginx 安裝包上傳到 Linux 中

3.解壓安裝包:

tar -zxvf nginx-1.8.1.tar.gz

4.編譯安裝

進入到 nginx 的根目錄:cd nginx-1.8.0

配置安裝引數: ./configure --prefix=/usr/local/nginx

編譯:make

編譯安裝 make install

5.nginx的啟動和關閉

啟動:./nginx

關閉:./nginx -s quit

重啟:./nginx -s reload

6.測試

安裝成功後,啟動nginx,在瀏覽器上直接輸入ip即可。(nginx預設監聽的是80埠)

注意:記得關閉防火牆

配置虛擬主機

需求

一臺 Linux 伺服器繫結兩個 ip:192.168.70.144、192.168.70.188

訪問不同的 ip 請求不同的 html 目錄,即:

訪問 192.168.70.144 將訪問“html144”目錄下的 html 網頁

訪問 192.168.70.188

將訪問“html188”目錄下的 html 網頁

2.Nginx的虛擬主機配置方式

Nginx 支援三種類型的虛擬主機配置

基於 IP 的虛擬主機

基於埠的虛擬主機

基於域名的虛擬主機

2.1基於 IP 的虛擬主機

  1. 將動態 IP 修改為靜態 IP

--cd /etc/sysconfig/network-scripts

--vim ifcfg-eth0

 

 

IPADDR=192.168.10.144

NETMASK=255.255.255.0

GATEWAY=192.168.10.2

DNS1=114.114.114.114

2)將/etc/sysconfig/network-scripts/ifcfg-eth0 檔案複製一份,命名為

ifcfg-eth0:1;

--cp -rf ifcfg-eth0 ifcfg-eth0:1

修改複製後的ifcfg-eth0:1

--vim ifcfg-eht0:1

修改其中內容:

DEVICE=eth0:1

IPADDR=192.168.70.188

其他項不用修改

重啟網路

--service network restart

3)修改 Nginx 的配置檔案nginx.conf完成基於 IP 的虛擬主機配置

Nginx.conf

user root; (此處需要修改,分配許可權)
worker_processes 1;
events {
 worker_connections 1024;
}
http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 #一個 Server 就是一個虛擬主機
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name 192.168.70.144;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html144;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #一個 Server 就是一個虛擬主機
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name 192.168.70.188;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html188;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
}
  1. 重啟nginx

2.2基於埠的虛擬主機

1)需求

Nginx 對提供 8080 與 9090 兩個埠的監聽服務

請求 8080 埠則訪問 html8080 目錄下的 index.html

請求 9090 埠則訪問 html9090 目錄下的 index.html

修改 Nginx 的配置檔案完成基於埠的虛擬主機配置

#一個 Server 就是一個虛擬主機 基於埠
 server {
 listen 8080;
 server_name 192.168.70.188;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html8080;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #一個 Server 就是一個虛擬主機
 server {
 listen 9090;
#為虛擬機器指定 IP 或者是域名
 server_name 192.168.70.188;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html9090;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
}

2)重啟nginx

2.3基於域名的虛擬主機

1)需求

兩個域名指向同一個 nginx 伺服器,使用者訪問不同的域名時顯示不同的內容。

域名規劃:

1, bjsxt.com

2, www.itbaizhan.cn

2)修改 windows 的 hosts 檔案配置域名與 ip 的對映

檔案路徑:C:\Windows\System32\drivers\etc

 

修改 Nginx 的配置檔案完成基於域名的虛擬主機配置

nginx.conf

server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name www.bjsxt.com;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html-bjsxt;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #一個 Server 就是一個虛擬主機
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name www.itbaizhan.cn;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root html-itbaizhan;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }

五、Nginx 中配置服務的反向代理

1需求

安裝兩個 tomcat 服務,通過 nginx 反向代理。

本案例中使用兩臺虛擬機器演示。

tomcat 安裝到 192.168.70.143 環境中。埠為 8080 與 9090

Nginx 安裝在 192.168.70.144 環境中

2.反向代理實現

  1. 安裝 2個tomcat
  2. 修改其中一臺的埠號

vim server.xml(3個都加10)

  1. 修改tomcat首頁進行區分 index.jsp
  2. 配置nginx的nginx.conf來實現服務的反向代理

修改:nginx.conf

user root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
 worker_connections 1024;
}
http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 
 upstream tomcat_server1{
server 192.168.70.143:8080;
 }
 
 upstream tomcat_server2{
server 192.168.70.143:9090;
 }
 
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name test.bjsxt.com;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 proxy_pass http://tomcat_server1;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #一個 Server 就是一個虛擬主機
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name test.itbaizhan.cn;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 proxy_pass http://tomcat_server2;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
}

測試結果:test.bjsxt.com 跳轉到 ;server 192.168.70.143:8080;(tomcat1)

test.itbaizhan.cn 跳轉到:server 192.168.70.143:9090;(tomcat2)

 

六、在反向代理中配置負載均衡

1.Nginx 負載均衡策略

1)輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後

端伺服器 down 掉,能自動剔除。

2)指定權重

指定輪詢機率,weight 和訪問比率成正比,用於後端伺服器

效能不均的情況。

upstream backserver {

server 192.168.0.14 weight=10;

server 192.168.0.15 weight=10;

}

3)IP 繫結 ip_hash

每個請求按訪問 ip 的 hash 結果分配,這樣每個訪客固定訪

問一個後端伺服器,可以解決 session 的問題。

upstream backserver {

ip_hash;

server 192.168.0.14:88;

server 192.168.0.15:80;

}

七、http 協議代理

由於 ftp 伺服器是基於 ftp 協議處理的。麼現在我想在外部訪問該圖片,是沒有辦法

訪問的。他是不能處理 http 協議的。所以我們需要擁有一個能夠處理 http 協議代理伺服器。

其實就是使用了 Nginx 的虛擬主機的方式。

1、需求

使用 Nginx 的基於域名的虛擬主機的方式來完成在 KindEditor 中新增圖片時的圖片回

顯處理。

nginx:192.168.70.144

VSFTPD:192.168.70.144

注意:nginx 與 VSFTPD 必須安裝到同一個環境中。

2解決 KindEditorDemo 專案中圖片回顯的問題

2.1修改系統的 hosts 檔案

 

 

2.2修改專案的 resource.properties 檔案

FTP_HOST=192.168.70.144

FTP_PORT=21

FTP_USERNAME=ftpuser

FTP_PASSWORD=ftpuser

FTP_BASEPATH=/home/ftpuser/

HTTP_BASE_PATH=img.bjsxt.com

2.3修改 nginx.conf

user root;
worker_processes 1;
events {
 worker_connections 1024;
}
http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 
 server {
 listen 80;
#為虛擬機器指定 IP 或者是域名
 server_name img.bjsxt.com;
#主要配置路由訪問資訊
 location / {
 #用於指定訪問根目錄時,訪問虛擬主機的 web 目錄
 root /home/ftpuser/;
 #在不指定訪問具體資源時,預設的展示資源的列表
 index index.html index.htm;
 }
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }