日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

發(fā)布時間:2025/3/21 Nginx 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如何在 FreeBSD 10.2 上安裝 Nginx 作為 Apache 的反向代理




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

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

前提條件

  • FreeBSD 10.2
  • Root 權(quán)限

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

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

  • freebsd-update fetch
  • freebsd-update install
  • 步驟 2 - 安裝 Apache

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

  • pkg install apache24
  • 步驟 3 - 安裝 PHP

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

  • pkg install php56 mod_php56 php56-mysql php56-mysqli
  • 步驟 4 - 配置 Apache 和 PHP

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

    進入到“/usr/local/etc/”目錄,并且復(fù)制 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
  • 服務(wù)器名稱配置在第219行:

  • ServerName 127.0.0.1:8080
  • 在第277行,添加 DirectoryIndex 文件,Apache 將用它來服務(wù)對目錄的請求:

  • 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 的服務(wù)器 IP : 192.168.1.123:8080/info.php 。

    Apache 及 PHP 運行在 8080 端口。

    步驟 5 - 安裝 Nginx

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

  • pkg install nginx
  • 步驟 6 - 配置 Nginx

    一旦 Nginx 安裝完畢,在“nginx.conf”文件里,我們需要做一個新的配置文件來替換掉原來的 nginx 配置文件。切換到“/usr/local/etc/nginx/”目錄下,并且備份默認(rèn) 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

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

    這是另一個結(jié)果:

    測試無緩存的 .html 文件。

  • curl -I www.saitama.me
  • 測試有三十天緩存的 .css 文件。

  • curl -I www.saitama.me/test.css
  • 測試緩存的 .php 文件:

  • curl -I www.saitama.me/info.php
  • 全部搞定。

    總結(jié)

    Nginx 是最受歡迎的 HTTP 和反向代理服務(wù)器,擁有豐富的功能、高性能、低內(nèi)存/RAM 占用。Nginx 也用于緩存, 我們可以在網(wǎng)絡(luò)上緩存靜態(tài)文件使得網(wǎng)頁加速,并且緩存用戶請求的 php 文件。 Nginx 容易配置和使用,可以將它用作 HTTP 服務(wù)器或者 apache 的反向代理。



    本文來自云棲社區(qū)合作伙伴“Linux中國”

    原文發(fā)布時間為:2013-04-02.


    總結(jié)

    以上是生活随笔為你收集整理的如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。