مشکل با nginx

سلام یک سوال برای کانفیگ nginx داشتم …
یک ساختار پوشه دارم به این شکل

/desktop/project
----- web

می خوام nginx رو طوری کانفیگ کنم که هر جفت پوشه app رو روی یک آدرس داشته باشم … شاید رو کانفیگ nginx بهتر بتونم برسونم منظورمو.

server {
	listen 80;
	listen [::]:80;
	server_name transfer.host;
	root /home/amir/Desktop/project;

	# Add index.php to the list if you are using PHP
	index index.php index.html index.htm index.nginx-debian.html;
    	disable_symlinks off;

	location / {
          try_files $uri $uri/ /web/webroot/index.php?$query_string;
        }

	
	location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_read_timeout 120;
        #fastcgi_pass 127.0.0.1:9000;
        include /etc/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    	}
}

متاسفانه خطای 404 می ده ممنون می شم دوستان کمک کنند.

سلام
پست خیلی قدیمی هست ولی چون خودم این مشکل رو با docker و nginx داشتم و حل کردم . گفتم بیام و این مشکل اگر حل نشده یه کمکی بکنم . اول permission دایرکتوری ها رو چک کنید و برای تست یک فایل متنی در مسیر مورد نظرتون بزارین ببینید که اون رو توی مرورگر نشون میده یا نه . اگر نشون داد پس مشکل از تنظیمات php هست . اگر نشون داد پس مشکل از تنظیمات nginx هست .

کانفیگ زیر رو هم تست کنید . توی کانفیگ زیر لاگ هم اضافه کردم موقع تست کردن حتما لاگ رو با دستور زیر بخونید تا ببینید که غیر از خطای ۴۰۴ خطای دیگه ای هم میده یا نه

tail    -f   /var/log/nginx/error.log    /var/log/nginx/access.log
server {
		listen 80;
		listen [::]:80;
		server_name 127.0.0.1;
		
	
		error_log  /var/log/nginx/error.log warn;
        access_log  /var/log/nginx/access.log  main;
             
		index index.php index.html;
		root /home/amir/Desktop/project;

		location ~ \.php$ {
			try_files $uri =404;
			fastcgi_split_path_info ^(.+\.php)(/.+)$;
			fastcgi_pass 127.0.0.1:9000;
			fastcgi_index index.php;
			include fastcgi_params;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			fastcgi_param PATH_INFO $fastcgi_path_info;
		}
}	

امیدوارم کمک بکنه . اگر باز هم نشد تنظیمات nginx.conf رو هم قرار بدین تا بهتر بررسی کنیم . البته اگر مشکلتون حل شده کانفیگ کامل رو در سایت قرار بدین تا بقیه هم استفاده کنن :sweat_smile:

1 پسندیده