iT邦幫忙

0

Mac VSCode + Homebrew Nginx + 網路磁碟空間?

  • 分享至 

  • xImage

各位先進好,
小弟想在Mac Air M1用VSCode開發PHP
之前已有在Windows上用VSCode + Git開發PHP並直接指到OneDrive的資料夾
現在想用Mac來開發
上網查用Homebrew安裝Nginx
以下是小弟Nginx的設定

    location ~ \.php$ {
    #    root           html;
        root   /Users/peterrabbit/Library/CloudStorage/OneDrive-個人/Script/PHP;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_connect_timeout  300;
        fastcgi_send_timeout      300;
        fastcgi_read_timeout       300;
        fastcgi_buffer_size          64k;
        fastcgi_buffers 4             64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        include        fastcgi_params;
    }

小弟這樣設會出現以下Error

2023/01/28 23:17:26 [error] 14002#0: *69 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /CSRT/index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "127.0.0.1"

想請問在Nginx裡是不是不能設定OneDrive的程式路徑,難道Homebrew裝的Nginx只能在Homebrew下的/var/www才會生效?
還是要把每個路徑的other權限都要設成可以讀寫呢?
煩請各位先進不吝指導?

froce iT邦大師 1 級 ‧ 2023-01-31 09:03:49 檢舉
這個看起來你要去看php的log才會知道是不是權限問題。
另外這種share的資料夾最好不要亂開權限,誰知道會出什麼鬼問題...
ommjki iT邦新手 3 級 ‧ 2023-01-31 21:20:04 檢舉
小弟也是這樣想,所以不敢亂開權限
至於php的部份如同JamesDoge大大所說的
nginx真的不能使用網路磁碟
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
JamesDoge
iT邦高手 1 級 ‧ 2023-01-31 09:00:45
最佳解答

想請問在Nginx裡是不是不能設定OneDrive的程式路徑,難道Homebrew裝的Nginx只能在Homebrew下的/var/www才會生效?

沒錯,Nginx 只允許訪問本地檔案系統中的檔案,OneDrive 不被視為本地檔案系統。
您只能把 OneDrive 中的檔案複製到本地檔案系統中,並使用本地資料夾路徑作為 Nginx 的目錄。

還是要把每個路徑的other權限都要設成可以讀寫呢?
煩請各位先進不吝指導?

也許可以使用 WebDAV 將 OneDrive 資料夾對映到本地檔案系統,這樣 Nginx 就可以訪問對映的檔案。

這樣做需要您在 Mac 上安裝一個 WebDAV 客戶端,類似像Linux的davfs2 這種。然後,您可以將您的 OneDrive 資料夾對映到本地檔案系統,並在 Nginx 配置檔案中指向對映的資料夾作為網站根目錄。

參考

ommjki iT邦新手 3 級 ‧ 2023-01-31 20:54:25 檢舉

謝謝JamesDoge大回覆
小弟了解了
小弟再看是不是用rsync來同步好了
只不過這樣就會同時吃雙重空間
真的兩難啊

我要發表回答

立即登入回答