jxyblog

jxyblog

email

openwrt路由器搭建網站伺服器,Nginx+php+Sqlite

如果你的路由器有 USB 口,闪存也够大至少 32Mb,可以把服务器改成 Nginx+php+Sqlite

之前发了一篇 openwrt 路由器搭建 lighttpd+php+Sqlite 的教程,大致相同,可以先看前面那篇,这篇主要记录一下配置文件。

openwrt 路由器搭建 lighttpd+sqlite+php 網站伺服器

我最開始想的是把路由器整個根目錄擴容,後面想想不好備份跟維護,USB 要是壞了所有服務都要重新安裝了。

目前是把網站目錄放在 USB 裡,使用 Sqlite 資料庫的好處是可以跟網站放一起,一鍵打包備份,轉移伺服器也方便,直接改個資料庫地址就 OK。

現在轉到 nginx,所有的軟體都是安裝在路由器上,斷電也不會丟失,Nginx+php+Sqlite 三件套加上一些其他的組件,路由器閃存佔用就 10Mb 左右。

openwrt 上面 nginx 貌似只能搭配 php-fpm 使用。

再次感謝維護 openwrt 的大佬,這些軟體都是可以直接拿來就用的,最多微調一下配置文件,連我這種小白也玩的轉。

之前用 lighttpd 的時候安裝 php-cgi 這個軟體包,現在用 nginx 就不需要那個了,直接安裝個 php-fpm 這個包就行,裡面自帶 php8 解釋器。

以下是 Nginx 使用的配置文件,配置文件目錄在 /etc/nginx/nginx.conf

worker_processes 2;

user root;

include module.d/*.module;

events {
worker_connections  1024;
}

http {
	include mime.types;
	default_type application/octet-stream;
	sendfile on;
         keepalive_timeout 65;
	client_max_body_size 100M;
	large_client_header_buffers 4 64k;

	server { 
		listen 80;
		listen [::]:80;
		server_name jxyblog.top;
                root /mnt/www;
               location / {
            index index.php index.html;
            autoindex  off;
        }

        location ~ \.php(.*)$ {
            root /mnt/www;
            fastcgi_pass   unix:/var/run/php8-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

	include conf.d/*.conf;
}

以下是 Nginx 的偽靜態,適用於 typecho 博客,要開啟的話加入上面的配置文件。

       if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }

有幾點要注意:

由於 nginx 啟動的時候默認是替換路由器自帶的 LUCI 的,所以安裝的時候路由器默認的 80 訪問端口先改掉,比如改成 8080,前面那篇教程我也提到過。

不然可能會報錯,還有開機自動啟動腳本裡是不使用 nginx.conf 來啟動的,我們還要改個配置文件。

目錄在 /etc/config/nginx,就是這個沒有後綴的文件 nginx 右鍵打開

config main global
    option uci_enable 'false'    #把此處改成false就行了,然後在系統啟動項裡重啟NG用的就是我們自己的配置文件了。

到此大公告成

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。