Wszystko co dotyczy tworzenia stron WWW.
Awatar użytkownika

winuser

Zasłużony użytkownik
Posty: 1034
Rejestracja: 29 sie 2013, 12:15
    Windows 7 Chrome

Post07 mar 2016, 13:40

Cześć, postawiłem klientowi forum na phpBB używając Apache. Wszystko dobrze działało, ale przy sporym załadowaniu serwera przymulało. Postanowiłem przełączyć na nginx, naczytałem się o nim dużo dobrego w kwestii wydajności. Wszystko działa, ale mam problem z przekierowaniami np do localhost/app.php/rules - nginx wyrzuca błąd 404.
nginx.conf stworzony na podstawie bazowego od phpBB wygląda tak:

Kod: Zaznacz cały

# Sample nginx configuration file for phpBB. # Global settings have been removed, copy them # from your system's nginx.conf. # Tested with nginx 0.8.35. # If you want to use the X-Accel-Redirect feature, # add the following to your config.php. # # define('PHPBB_ENABLE_X_ACCEL_REDIRECT', true); # # See http://wiki.nginx.org/XSendfile for the details # on X-Accel-Redirect. user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { # # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # Catch-all server for requests to invalid hosts. # Also catches vulnerability scanners probing IP addresses. server { # default specifies that this block is to be used when # no other block matches. listen 80 default; server_name bogus; return 444; root /var/empty; } # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; # If you have domains with and without www prefix, # redirect one to the other. server { # Default port is 80. #listen 80; server_name myforums.com; # A trick from http://wiki.nginx.org/Pitfalls#Taxing_Rewrites: rewrite ^ http://www.domena.pl$request_uri permanent; # Equivalent to: #rewrite ^(.*)$ http://www.doemna.pl$1 permanent; } } # If running php as fastcgi, specify php upstream. upstream php { server unix:/tmp/php.sock; } }
Plik default (sites-avaiable):

Kod: Zaznacz cały

# You may add here your # server { # ... # } # statements for each of your virtual hosts to this file ## # You should look at the following URL's in order to grasp a solid understanding # of Nginx configuration files in order to fully unleash the power of Nginx. # http://wiki.nginx.org/Pitfalls # http://wiki.nginx.org/QuickStart # http://wiki.nginx.org/Configuration # # Generally, you will want to move this file somewhere, and start with a clean # file but keep this around for reference. Or just disable in sites-enabled. # # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. ## server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www; index index.html index.php index.htm; # Make site accessible from http://domena.pl server_name domena.pl; location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|store) { deny all; return 403; } location ~* \.(gif|jpe?g|png|css)$ { expires 30d; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests #location /RequestDenied { # proxy_pass http://127.0.0.1:8080; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # #error_page 500 502 503 504 /50x.html; #location = /50x.html { # root /usr/share/nginx/www; #} # pass the PHP scripts to FastCGI server listening on (. location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 80; # listen somename:8080; # server_name somename alias another.alias; # root html; # index index.html index.htm; # # location / { # try_files $uri $uri/ =404; # } #} # HTTPS server # #server { # listen 443; # server_name localhost; # # root html; # index index.html index.htm; # # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # # ssl_session_timeout 5m; # # ssl_protocols SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; # ssl_prefer_server_ciphers on; # # location / { # try_files $uri $uri/ =404; # } #}
Support phpBB milczy w kwestii konfiguracji z nginx, dają tylko przykładowe pliki na bazie których stworzyłem co powyżej.

Mam rozwiązanie:
do default dodajemy to:

Kod: Zaznacz cały

location /app.php { try_files $uri $uri/ /app.php?$query_string; }
Mój PC:
Intel Core i5 2400S @2.5GHz + SilentiumPC SpartanPro | Gateway DT71 | ATI Radeon HD5450 1GB | 8 GB RAM Kingston| Patriot Blaze SSD 120 GB | Seagate ST2000DM001 HDD 2TB | Windows 7 Pro x64
Laptop:
Lenovo IdeaPad Y580 | Intel Core i7 3630QM @ 3.4 GHz| nVidia GeForce GTX650M | 16GB RAM Kingston | Kingston mSATA 128GB + 2x HGST 1TB | MacOS Sierra 10.12.6 i Windows 10
Serwer:
HP Thin T610 | AMD G-T56N @ 1.65GHz | Radeon HD 6320 | 6GB RAM Kingston | HGST 500GB + Seagate 2TB | Debian 9 Testing x64
Apple iPhone SE | Apple A9 @1.85 GHz | PowerVR GT7600 | 2GB RAM | 128GB PAMIĘCI | iOS 11.0.2
PlayStation 4 | CUH-1116A | 1TB |
Inne telefony:
Spoilerpokaż
Apple iPhone 5 | Apple A6 @1.3 GHz | PowerVR G6430 | 1GB RAM | 32GB PAMIĘCI | iOS 10.3
Nokia N9 | TI OMAP3630 @1,1GHz OC | PowerVR SGX-530 | 1GB RAM LPDDR | 16 GB PAMIĘCI | MeeGo 1.2 Harmattan
Lumia 520 | Qualcomm MSM8227 @ 1GHz | Qualcomm Adreno 305 | 512MB RAM | 8GB PAMIĘCI| WP 8.1 GDR2

Awatar użytkownika

Onset

Administrator
Posty: 2116
Rejestracja: 06 gru 2008, 19:27
Lokalizacja: multi(0)disk(0)rdisk(0)partition(2)\GDAŃSK
Kontakt:
    Windows 7 Chrome

Post07 mar 2016, 21:08

Nginx i PhpBB w bardzo dużym skrócie się nie lubią. Bardzo ciężko dopasować konfigi. Nie jest to niewykonalne, ale najszybciej zrobisz to przez zainstalowanie Ultimate SEO URL. W panelu admina będziesz mieć duże pole tekstowe, a w nim config, który kopiujesz do ustawień nginksa.
Windows 98 supports real multitasking - it can boot and crash simultaneously.
Mój pecet:
Spoilerpokaż

Obudowa: Modecom ThinkBell, Zasilacz: OCZ ModXStream 600W, Mobo: MSI B85M-G43, Procesor: Intel Core i5-4570 (Haswell) , Wypalarka: Optiarc DVD RW AD-7173A ATA, Grafika: Gigabyte Radeon R9 270x, HDD1: OCZ Vertex 4 128 GB, HDD2:WDC WD5001AALS-00L3B2 (500GB), HDD3+4: WD1002FAEX-00Z3A0 (RAID-0), RAM: Kingston HyperX Black + Red 16GB (2x4 GB + 2x4GB Dual-Channel) CL9, Mocarne chłodzenie: Scythe Mugen II Rev. B.
Retina MacBook Pro Early 2015:
Spoilerpokaż
Intel Core i5-5257u(Broadwell) @ 2.7 Ghz, RAM: 8 GB @ 1866 MHz DDR3, Intel Iris 6100, 128GB PCI-e SSD

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość