Я нахожусь в процессе создания сервера стека LEMP и локальной среды разработки, в основном следуя руководствам, которые предоставляют Linode и DigitalOcean. Я установил все разрозненные компоненты, но меня немного смущает настройка NGINX для работы с PHP. В руководствах описывается редактирование блока server {}
, найденного в sites-available / default
. Дело в том, что в моем файле конфигурации по умолчанию есть два серверных блока, и я не уверен, какой из них мне следует редактировать.
Первый содержит:
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
А второй содержит:
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Который мне редактировать? Я буду работать / размещать несколько виртуальных размещенных сайтов, если это имеет значение.
Это только оба примера
Первый пример для установки сервера по умолчанию, белого, что вы можете обрабатывать все домены, находящиеся на вашем сервере, так же как и vhost для доменов по умолчанию, белого, белого, как и vhost.
Второй пример для установки одного "примера домена". com"
Вам нужно создать новый файл на сайтах-available/yourdomain.com
Может это поможет вам начать, это базовая настройка.
Вам нужно создать пользователя "yourdomain" для php-fpm config ( или любого другого пользователя )
server {
listen 80;
server_name yourdomain.com;
root /home/yourdomain;
index index.html index.htm;
autoindex off;
###
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_pass unix:/var/run/yourdomain.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
А для php-fpm
[yourdomain]
listen = /var/run/yourdomain.sock
listen.owner = yourdomain
listen.group = yourdomain
listen.mode = 0660
user = yourdomain
group = yourdomain
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0
chdir = /
Вы также можете использовать sitart whit official docs
https://www.nginx. com/resources/wiki/start/topics/examples/phpfcgi/