Article

Nginx Основы 01 Настраиваем и запускаем .php скрипты

Иииитак, первое, что меня волновало как PHP разраба - как завести Nginx как основной и единственный сервер(пока что без связки с APACHE), и как заставить его обрабатывать .php скрипты


Основы того, с чего начинать находятся в этих статьях:

Стоит добавить так же, что сначала лучше всего удалить все файлы из директорий /etc/nginx/sites-enabled и /etc/nginx/sites-available.
Теперь, у нас нету лишних конфигураций, /etc/nginx/nginx.conf получился вот таким:

user www-data; 
worker_processes 2;#у меня 2 ядра
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    
        sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;
    types_hash_max_size 2048;
    server_tokens off;
    
    include /etc/nginx/mime.types;
    default_type text/javascript;

    access_log off;
    error_log /var/log/nginx/error.log;
    
    gzip on;
    gzip_min_length 100;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    client_max_body_size 8M;
    
    server { 
    listen 80; 
    server_name waqar.com; 

    # Путь к папке с кодом
    root /var/www/waqar.com;

    index index.php; 

    # Обработка php файлов с помощью fpm
    location ~ \.php$ { 
        try_files $uri =404; 
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    }
    }
}

Пример 2:простые конфиги, когда 2+ сервера пока что внутри главного конфига

# 1 ==> /etc/nginx/nginx.conf

user www-data; 
worker_processes 2;#у меня 2 ядра
pid /run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 15;
    types_hash_max_size 2048;
    server_tokens off;
    
    include /etc/nginx/mime.types;
    default_type text/javascript;

    access_log off;
    error_log /var/log/nginx/error.log;
    
    gzip on;
    gzip_min_length 100;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    client_max_body_size 8M;
    
    server { 
    listen 80; 
    server_name waqar.com; 

    # Путь к папке с кодом
    root /var/www/waqar.com;

    index index.php; 

    # Обработка php файлов с помощью fpm
    location ~ \.php$ { 
        try_files $uri =404; 
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    }
    }


 server { 
    listen 80; 
    server_name my_test2.loc; 

    # Путь к папке с кодом
    root /var/www/my_test2.loc;

    index index.php; 

    # Обработка php файлов с помощью fpm
    location ~ \.php$ { 
        try_files $uri =404; 
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    }
    }

 server { 
    listen 80; 
    server_name my_test3.loc; 

    # Путь к папке с кодом
    root /var/www/my_test3.loc;

    index index.php; 

    # Обработка php файлов с помощью fpm
    location ~ \.php$ { 
        try_files $uri =404; 
        include /etc/nginx/fastcgi.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    }
    }



}

# 2 ==> /etc/hosts 
127.0.0.1    localhost waqar.com my_test2.loc my_test3.loc 


Third-party source 2

No data here

Dropdown
test 123