এনগিনেক্স মাউন্ট করা / ইউএসআর / শেয়ার / এনগিনেক্স / এইচটিএমএল পড়েন না


1

গোল:

আমি একটি এনজিআইএনএক্স কনটেইনার ব্যবহার করছি যেখানে আমি একটি দূরবর্তী এসএসএফএফএস ফাইল সিস্টেমটিকে / usr / share / nginx / html এ মাউন্ট করি , উদ্দেশ্য প্রতিটি সময় একটি নতুন স্টেটলেস এনগিনেক্স ধারক ব্যবহার করা কিন্তু একই ধ্রুবক সামগ্রী সহ।

সম্পাদিত পদক্ষেপগুলি:

নিশ্চিত করুন যে এসএসএইচএফএস সার্ভারটি চালু এবং চলছে।
-নিগিনেক্স পাত্রে (sshfs ক্লায়েন্ট) আমি রিমোট sshfs ফাইল সিস্টেমটিকে / usr / share / nginx / html এ স্থাপন করেছি

/ # sshfs  root@X.X.106.181:/data /usr/share/nginx/html
root@X.X.106.181's password:  / #

- মাউন্টটি ঠিক দেখাচ্ছে:

/ # mount | grep sshfs

root@35.185.106.181:/data on /usr/share/nginx/html type fuse.sshfs
(rw,nosuid,nodev,relatime,user_id=0,group_id=0)  

/ # df -h
Filesystem                 Size  Used Avail Use% Mounted on  
rootfs                     886G  681G  161G  81% /  
none                       886G  681G  161G  81% /  
tmpfs                      7.9G     0  7.9G   0% /dev  
tmpfs                      7.9G     0  7.9G   0% /sys/fs/cgroup  
/dev/sda1                  886G  681G  161G  81% /gns3  
shm                         64M     0   64M   0% /dev/shm  
root@X.X.106.181:/data  976M  2.6M  907M   1% /usr/share/nginx/html  

সেখানে কয়েকটি ফাইল রাখুন এবং সেগুলি প্রত্যেকের দ্বারা পঠনযোগ্য:

/ # ls -la /usr/share/nginx/html

total 36 drwxr-xr-x 1 root root  4096 Aug 20 11:48 . drwxr-xr-x 5 root
root  4096 Aug 20 11:36 ..
-rw-r--r-- 1 root root   537 Aug 20 11:48 50x.html
-rw-r--r-- 1 root root   612 Aug 20 11:48 index.html  
drwx------ 1 root root 16384 Aug 20 11:23 lost+found
-rw-r--r-- 1 root root   310 Aug 20 11:48 test.php

প্রত্যাশিত ফল:

নতুন এনগিনেক্স ধারক যাই হোক না কেন, আমি রিমোট এসএসএইচএফসকে মাউন্ট করি এবং আমার ব্যবহারকারীর দ্বারা ব্রাউজ করা একই তথ্য রয়েছে।

প্রাপ্ত ফলাফল:

এনগিনেক্স / ইউএসআর / শেয়ার / এনগিনেক্স / এইচটিএমএল এর সামগ্রী পড়বে না। কোনও সূচী ফাইল না থাকায় এটি কাজ করে।
ব্রাউজারে কিছুই দেখা যাচ্ছে না:

এখানে চিত্র বর্ণনা লিখুন


লিনাক্স লগ:

/ # tail /var/log/nginx/error.log
2017/08/20 15:47:16 [crit] 139#0: *3 stat() "/usr/share/nginx/html/" failed (13: Permission denied), client: 192.168.122.247, server: ajnouri.local, request: "GET / HTTP/1.1", host: "192.168.122.100"  
2017/08/20 15:47:16 [crit] 139#0: *3 stat() "/usr/share/nginx/html/404.html" failed (13: Permission denied), client: 192.168.122.247, server: ajnouri.local, request: "GET / HTTP/1.1", host: "192.168.122.100"  
2017/08/20 15:47:16 [crit] 139#0: *3 stat() "/usr/share/nginx/html/404.html" failed (13: Permission denied), client: 192.168.122.247, server: ajnouri.local, request: "GET / HTTP/1.1", host: "192.168.122.100"  

দেখে মনে হচ্ছে "www-data" ডিরেক্টরিতে লিখতে হবে।

####################### হালনাগাদ

সুতরাং, সার্ভারে এটি নিয়মিত ব্যবহারকারী হিসাবে "www-ডেটা" ব্যবহারকারী তৈরি করতে সক্ষম হয়েছিল এবং sshfs ক্লায়েন্ট "www-ডেটা" ব্যবহার করে "/ var / www" মাউন্ট করতে সফল হয়েছিল

সার্ভারে আমি "www-ডেটা" হোম ডিরেক্টরি (/ var / www) এর মালিককে www-ডেটাতে পরিবর্তন করেছি: www-ডেটা

/ # ডোবা -আর www-ডেটা: www-ডেটা / ভের / www

/ # ls -la /var/www
total 36
drwxr-xr-x 1 www-data www-data  4096 Aug 20 11:48 .
drwxr-xr-x 5 root     root      4096 Aug 20 11:36 ..
-rw-r--r-- 1 www-data www-data   537 Aug 20 11:48 50x.html
-rw-r--r-- 1 www-data www-data   612 Aug 20 11:48 index.html
drwx------ 1 www-data www-data 16384 Aug 20 11:23 lost+found
-rw-r--r-- 1 www-data www-data   310 Aug 20 11:48 test.php

######################

সমস্যাটি সমাধান করার বিষয়টি মনে হচ্ছে না।


Nginx ধারক (sshfs ক্লায়েন্ট) এবং sshfs সার্ভার একই ওএস ব্যবহার করে:

/ # lsb_release -a

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

2
আপনি এনগিনেক্স সার্ভার লগগুলিতে কোন ত্রুটি দেখতে পাচ্ছেন?
জাকুজে

ধন্যবাদ @ জাকুজে আমি লগ সম্পর্কে ভুলে গেছি। প্রশ্ন যুক্ত হয়েছে।
এজেএন

ডিরেক্টরিটি বিশ্ব-পঠনযোগ্য ছাড়ার পরিবর্তে এনগিনেক্স ব্যবহারকারীর অনুমতি নিয়ে ডিরেক্টরিটি মাউন্ট করা কি ভাল ধারণা হবে না? ত্রুটি স্পষ্টতই এটি তাদের পড়তে পারে না (যে কারণেই হোক না কেন)
জাকুজে

@ জাকুজে আমি ডিরেক্টরিটির মালিককে www-ডেটা: www-ডেটাতে পরিবর্তন করেছি, তবে এটি সমস্যার সমাধান করে না।
এজেএন

উত্তর:


2

এটি ভবিষ্যতে সহায়তা করতে পারে তাদের জন্য, আমার এই সমস্যাটি ছিল এবং আরও কিছুটা অনুসন্ধানের পরে আমি দেখতে পেলাম যে -o allow_otherমাউন্ট কলটিতে যুক্ত করার ফলে এটি কাজ করতে সক্ষম হয়েছে

হুডের নীচে এটি কী করছে, বা কেন এটি প্রয়োজনীয় (ইউইড বা গিড সেট করা কিছু করে না) ধারণা নেই তবে আমরা সেখানে যাই।

সূত্র: https://stackoverflow.com/questions/29330382/how-to-enable-writing-to-sshfs-directory-in-php


0
  1. এখানে www- ডেটা দ্বারা sshfs মাউন্ট করার চেষ্টা করুন
  2. Sshfs এর বাইরে মূল ডিরেক্টরি সেট করার চেষ্টা করুন এবং সাইটে সংযোগ দিন
  3. কনফিগারেশনে আপনার লাইন রয়েছে কিনা তা পরীক্ষা করুন

    সূচি সূচক। html সূচক; htm;

বা সম্পূর্ণ লিঙ্ক দ্বারা সাইটের সাথে সংযোগ করুন, উদাহরণস্বরূপ 192.168.0.20/index.html

  1. লেজ - আপনি অ্যাক্সেস এবং ত্রুটি লগ nginx

হাই @ ক্যারাইন্ড, আমি "www-ডেটা" ব্যবহারকারীর (যেমন এটি একটি নিয়মিত ব্যবহারকারী) ব্যবহার করে sshfs সার্ভারে মাউন্ট করতে পেরেছি এবং সার্ভারের হোম ডিরেক্টরিটির মালিকানা "www-ডেটা" তে পরিবর্তন করেছি। কোনও পরিবর্তন হয়নি, তবুও অনুমতি অস্বীকার করা হয়েছে
এজেএন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.