#nginx
#nginx
Вопрос:
В настоящее время я настраиваю сервер nginx с поддоменами.
Я использую noip.com для службы DNS, которая предоставляет мне веб-адрес, подобный mydomain.ddns.net
Поскольку у меня есть поддомены, я хочу получить к ним доступ по адресу http://mydomain.ddns.net/subdomain
На сервере файлы поддоменов расположены здесь: /var/www/mydomain.ddns.net/www/subdomain
Мой вопрос: какой код нужно записать в mydomain.ddns.net файл конфигурации nginx для перенаправления http://mydomain.ddns.net/subdomain в /var/www/mydomain.ddns.net/www/subdomain/welcome.php ?
Заранее благодарю вас за помощь
Квентин Си
Комментарии:
1. Что вы подразумеваете под поддоменами ? Похоже, вы говорите о подкаталогах. Поддоменом будет:
foo.mydomain.ddns.net
, где находится корневой доменddns.net
.2. Я хочу разместить несколько веб-сайтов, используя только адрес DynDNS. Каждый веб-сайт будет расположен в папке /var/www/mydomain.ddns.net/www/.
3. Хорошо, но если URL-адреса веб-сайтов являются
http://mydomain.ddns.net/foobar
, то это просто вспомогательные ресурсы одного и того же веб-сайта.4. Да .. возможно .. Это проблема? Извините, я новичок в серверах.. Вы говорите, что единственный способ разместить несколько веб-сайтов по одному и тому же URL-адресу — это использовать поддомены, т. Е. foo.mydomain.ddns.net адреса? Я не могу этого сделать, поскольку я использую noip.com служба dyndns .. нет?
5. Да, у вас могут быть разные приложения в разных папках. Это просто странный выбор, и я хотел убедиться, что я понял, о чем вы спрашивали.
Ответ №1:
Я не эксперт по обслуживанию PHP с помощью nginx, и я не могу попробовать это прямо сейчас, но, по крайней мере, приведенная ниже конфигурация должна помочь вам начать.
Попробуйте следовать этому руководству, чтобы настроить его, в то время как это должно сделать поиск в документах конфигурации немного менее болезненным.
user nginx nginx;
worker_processes 3;
worker_rlimit_nofile 2048;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
accept_mutex on;
use epoll; # for Linux
}
http {
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log combined;
sendfile on;
server {
listen 80;
server_name mydomain.ddns.net;
# To enable https
#
# listen 443 ssl;
# ssl_certificate /etc/nginx/sslfiles/certificate_chain.crt;
# ssl_certificate_key /etc/nginx/sslfiles/certificate_key_no_passphrase.key;
# ssl_session_cache shared:a_cache_name:1m;
# ssl_session_timeout 5m;
root /var/www/mydomain.ddns.net/www;
location / {
return 403; # forbidden
}
location @php_app {
fastcgi_split_path_info ^(. ?(.php)?)(/.*)?$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
location /subdomain_one/ {
try_files $uri/index.html @php_app;
}
}
}
Комментарии:
1. При перезапуске nginx я получил сообщение об ошибке: шаблон «^(. ?(.php)?)(/.*)?$» должно быть 2 записи в /etc/nginx /sites-enabled/mydomain.ddns.net