溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

發(fā)布時間:2021-10-26 17:26:55 來源:億速云 閱讀:140 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Nginx 是一款自由開源的 HTTP 和反向代理服務器,也可以用作 POP3/IMAP 的郵件代理服務器。Nginx 是一款高性能的 Web  服務器,其特點是功能豐富,結構簡單以及內存占用低。 ***個版本由 Igor Sysoev 發(fā)布于2002年,到現(xiàn)在有很多大型科技公司在使用,包括  Netflix、 Github、 Cloudflare、 WordPress.com 等等。

在這里我們會“在 freebsd 10.2 系統(tǒng)上,安裝和配置 Nginx 網(wǎng)絡服務器作為 Apache 的反向代理”。 Apache  將在8080端口上運行 PHP ,而我們會配置 Nginx 運行在80端口以接收用戶/訪問者的請求。如果80端口接收到用戶瀏覽器的網(wǎng)頁請求,那么 Nginx  會將該請求傳遞給運行在8080端口上的 Apache 網(wǎng)絡服務器和 PHP。

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

前提條件

◆FreeBSD 10.2

◆Root 權限

步驟 1:更新系統(tǒng)

使用 SSH 認證方式登錄到你的 FreeBSD 服務器,使用下面命令來更新你的系統(tǒng):

freebsd-update fetch freebsd-update install

步驟 2:安裝 Apache

Apache 是開源的、使用范圍最廣的 web 服務器。在 FreeBSD 里默認沒有安裝 Apache, 但是我們可以直接通過  /usr/ports/www/apache24 下的 ports 或軟件包來安裝,也可以直接使用 pkg 命令從 FreeBSD  軟件庫中安裝。在本教程中,我們將使用 pkg 命令從 FreeBSD 軟件庫中安裝:

pkg install apache24

步驟 3:安裝 PHP

一旦成功安裝 Apache,接著將會安裝 PHP ,它來負責處理用戶對 PHP 文件的請求。我們將會用到如下的 pkg 命令來安裝 PHP:

pkg install php56 mod_php56 php56-mysql php56-mysqli

步驟 4:配置 Apache 和 PHP

一旦所有都安裝好了,我們將會配置 Apache 運行在8080端口上, 并讓 PHP 與 Apache 一同工作。  要想配置Apache,我們可以編輯“httpd.conf”這個配置文件, 對于 PHP 我們只需要復制 “/usr/local/etc/”目錄下的 PHP  配置文件 php.ini。

進入到“/usr/local/etc/”目錄,并且復制 php.ini-production 文件到 php.ini :

cd /usr/local/etc/ cp php.ini-production php.ini

下一步,在 Apache 目錄下通過編輯“httpd.conf”文件來配置 Apache:

cd /usr/local/etc/apache24 nano -c httpd.conf

端口配置在第52行:

Listen 8080

服務器名稱配置在第219行:

ServerName 127.0.0.1:8080

在第277行,添加 DirectoryIndex 文件,Apache 將用它來服務對目錄的請求:

DirectoryIndex index.php index.html

在第287行下,配置 Apache ,添加腳本支持:

<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>

保存并退出。

現(xiàn)在用 sysrc 命令,來添加 Apache 為開機啟動項目:

sysrc apache24_enable=yes

然后用下面的命令測試 Apache 的配置:

apachectl configtest

如果到這里都沒有問題的話,那么就啟動 Apache 吧!

service apache24 start

如果全部完畢,在“/usr/local/www/apache24/data”目錄下創(chuàng)建一個 phpinfo 文件來驗證 PHP 在 Apache  下順利運行:

cd /usr/local/www/apache24/data echo "<?php phpinfo(); ?>" > info.php

現(xiàn)在就可以訪問 freebsd 的服務器 IP : 192.168.1.123:8080/info.php 。

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

Apache and PHP on Port 8080

Apache 及 PHP 運行在 8080 端口。

步驟 5:安裝 Nginx

Nginx 可以以較低內存占用提供高性能的 Web 服務器和反向代理服務器。在這個步驟里,我們將會使用 Nginx 作為Apache  的反向代理,因此讓我們用 pkg 命令來安裝它吧!

pkg install nginx

步驟 6:配置 Nginx

一旦 Nginx 安裝完畢,在“nginx.conf”文件里,我們需要做一個新的配置文件來替換掉原來的 nginx  配置文件。切換到“/usr/local/etc/nginx/”目錄下,并且備份默認 nginx.conf 文件:

cd /usr/local/etc/nginx/ mv nginx.conf nginx.conf.oroginal

現(xiàn)在就可以創(chuàng)建一個新的 nginx 配置文件了:

nano -c nginx.conf

然后粘貼下面的配置:

user  www; worker_processes  1; error_log  /var/log/nginx/error.log;  events { worker_connections  1024; }  http { include       mime.types; default_type  application/octet-stream; log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log;  sendfile        on; keepalive_timeout  65;  # Nginx cache configuration proxy_cache_path    /var/nginx/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m; proxy_temp_path     /var/nginx/cache/tmp; proxy_cache_key     "$scheme$host$request_uri";  gzip  on;  server { #listen       80; server_name  _;  location /nginx_status {  stub_status on; access_log off; }  # redirect server error pages to the static page /50x.html # error_page   500 502 503 504  /50x.html; location = /50x.html { root   /usr/local/www/nginx-dist; }  # proxy the PHP scripts to Apache listening on 127.0.0.1:8080 # location ~ \.php$ { proxy_pass   http://127.0.0.1:8080; include /usr/local/etc/nginx/proxy.conf; } }  include /usr/local/etc/nginx/vhost/*;  }

保存并退出。

下一步,在 nginx 目錄下面,創(chuàng)建一個 proxy.conf 文件,使其作為反向代理:

cd /usr/local/etc/nginx/ nano -c proxy.conf

粘貼如下配置:

proxy_buffering         on; proxy_redirect          off; proxy_set_header        Host            $host; proxy_set_header        X-Real-IP       $remote_addr; proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size    10m; client_body_buffer_size 128k; proxy_connect_timeout   90; proxy_send_timeout      90; proxy_read_timeout      90; proxy_buffers           100 8k; add_header              X-Cache $upstream_cache_status;

保存并退出。

***一步,為 nginx 的高速緩存創(chuàng)建一個“/var/nginx/cache”的新目錄:

mkdir -p /var/nginx/cache

步驟 7:配置 Nginx 的虛擬主機

在這個步驟里面,我們需要創(chuàng)建一個新的虛擬主機域“saitama.me”,其文檔根目錄為“/usr/local/www/saitama.me”,日志文件放在“/var/log/nginx”目錄下。

我們必須做的***件事情就是創(chuàng)建新的目錄來存放虛擬主機配置文件,我們創(chuàng)建的新目錄名為“vhost”。創(chuàng)建它:

cd /usr/local/etc/nginx/ mkdir vhost

創(chuàng)建好 vhost 目錄,然后我們就進入這個目錄并創(chuàng)建一個新的虛擬主機文件。這里我取名為“saitama.conf”:

cd vhost/ nano -c saitama.conf

粘貼如下虛擬主機的配置:

server { # Replace with your freebsd IP listen 192.168.1.123:80;  # Document Root root /usr/local/www/saitama.me; index index.php index.html index.htm;  # Domain server_name www.saitama.me saitama.me;  # Error and Access log file error_log  /var/log/nginx/saitama-error.log; access_log /var/log/nginx/saitama-access.log main;  # Reverse Proxy Configuration location ~ \.php$ { proxy_pass http://127.0.0.1:8080; include /usr/local/etc/nginx/proxy.conf;  # Cache configuration proxy_cache my-cache; proxy_cache_valid 10s; proxy_no_cache $cookie_PHPSESSID; proxy_cache_bypass $cookie_PHPSESSID; proxy_cache_key "$scheme$host$request_uri";  }  # Disable Cache for the file type html, json location ~* .(?:manifest|appcache|html?|xml|json)$ { expires -1; }  # Enable Cache the file 30 days location ~* .(jpg|png|gif|jpeg|css|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ { proxy_cache_valid 200 120m; expires 30d; proxy_cache my-cache; access_log off; }  }

保存并退出。

下一步,為 nginx 和虛擬主機創(chuàng)建一個新的日志目錄“/var/log/”:

mkdir -p /var/log/nginx/

如果一切順利,在文件的根目錄下創(chuàng)建目錄 saitama.me 用作文檔根:

cd /usr/local/www/ mkdir saitama.me

步驟 8:測試

在這個步驟里面,我們只是測試我們的 nginx 和虛擬主機的配置。

用如下命令測試 nginx 的配置:

nginx -t

如果一切都沒有問題,用 sysrc 命令添加 nginx 為開機啟動項,并且啟動 nginx 和重啟 apache:

sysrc nginx_enable=yes service nginx start service apache24 restart

一切完畢后,在 saitama.me 目錄下,添加一個新的 phpinfo 文件來驗證 php 的正常運行:

cd /usr/local/www/saitama.me echo "<?php phpinfo(); ?>" > info.php

然后訪問這個域名: www.saitama.me/info.php。

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

Virtualhost Configured saitamame

Nginx 作為 Apache 的反向代理運行了,PHP 也同樣工作了。

這是另一個結果:

測試無緩存的 .html 文件。

curl -I www.saitama.me

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

html with no-cache

測試有三十天緩存的 .css 文件。

curl -I www.saitama.me/test.css

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

css file 30day cache

測試緩存的 .php 文件:

curl -I www.saitama.me/info.php

怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理

PHP file cached

全部搞定。

以上是“怎么在FreeBSD 10.2上安裝Nginx作為Apache的反向代理”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI