Jump to content

[GUIDE] Как быстро настроить VPS в качестве web сервера.


Recommended Posts

На счёт моего трабла: Через весту в фаерволе поменял порт с 22 на свой, заработало. Это самый первый пункт в фаерволе. Вдруг кому-нибудь понадобиться. Мб стоит добавить в гайд, что для безопасности меняют порт и запрещают логиниться от рута.

Link to post
Share on other sites
  • 2 weeks later...
  • Replies 109
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Статья актуализирована 18.06.2015   В этой мини статье я опишу своими словами как быстро и не имея специальных знаний перейти с хостинга на VPS.   Кому это пригодится: ·         тем, кому просто

Хороший мануал, такой всегда стоит держать под рукой в качестве справочника. Т. к. каждый раз когда приходится настраивать очередной сервер, то приходится вспоминать, гуглить и т. д. В чем кстати крое

В свое время именно вот этого гайда мне и не хватило чтобы настроить VPS но я нашел нормальный хостинг скрин которого предоставил в этой ветке transformer . А так ваш гайд очень пригодиться ....

Posted Images

Неплохая статья, но у меня возникли проблемы когда правил конфиг nginx, после добавления

server {
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        expires max;
    }
}
}

не стартует nginx

Выполнил действия описанные в конце гайда- не помогло, что можно сделать еще в данной ситуации?

Спасибо!

Link to post
Share on other sites

nginx -t укажет вам на ошибку!

Уберите последнююб скобку }

Увы не помогло

:~# nginx -t

nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:128

nginx: configuration file /etc/nginx/nginx.conf test failed

 

Я в этом не понимаю ((

Link to post
Share on other sites

Покажите весь конфиг целиком.

# Server globals

user                    www-data;

worker_processes        2;

error_log               /var/log/nginx/error.log;

pid                     /var/run/nginx.pid;

 

 

# Worker config

events {

        worker_connections  1024;

        use                 epoll;

}

 

 

http {

    # Main settings

    sendfile                        on;

    tcp_nopush                      on;

    tcp_nodelay                     on;

    client_header_timeout           1m;

    client_body_timeout             1m;

    client_header_buffer_size       2k;

    client_body_buffer_size         256k;

    client_max_body_size            100m;

    large_client_header_buffers     4   8k;

    send_timeout                    30;

    keepalive_timeout               60 60;

    reset_timedout_connection       on;

    server_tokens                   off;

    server_name_in_redirect         off;

    server_names_hash_max_size      512;

    server_names_hash_bucket_size   512;

 

 

    # Log format

    log_format  main    '$remote_addr - $remote_user [$time_local] $request '

                        '"$status" $body_bytes_sent "$http_referer" '

                        '"$http_user_agent" "$http_x_forwarded_for"';

    log_format  bytes   '$body_bytes_sent';

    #access_log          /var/log/nginx/access.log  main;

    access_log off;

 

 

    # Mime settings

    include             /etc/nginx/mime.types;

    default_type        application/octet-stream;

 

 

    # Compression

    gzip                on;

    gzip_comp_level     9;

    gzip_min_length     1000;

    gzip_buffers        8 64k;

    gzip_types          text/plain text/css application/json

                        application/x-javascript text/xml application/xml

                        application/xml+rss text/javascript application/javascr$

                        image/svg+xml;

    gzip_proxied        any;

 

 

    # Proxy settings

    proxy_redirect      off;

    proxy_set_header    Host            $host;

    proxy_set_header    X-Real-IP       $remote_addr;

    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_pass_header   Set-Cookie;

    proxy_connect_timeout   90;

    proxy_send_timeout  90;

    proxy_read_timeout  90;

    proxy_buffers       32 4k;

 

 

    # Cloudflare https://www.cloudflare.com/ips

    set_real_ip_from   199.27.128.0/21;

    set_real_ip_from   173.245.48.0/20;

    set_real_ip_from   103.21.244.0/22;

    set_real_ip_from   103.22.200.0/22;

    set_real_ip_from   103.31.4.0/22;

    set_real_ip_from   141.101.64.0/18;

    set_real_ip_from   108.162.192.0/18;

    set_real_ip_from   190.93.240.0/20;

    set_real_ip_from   188.114.96.0/20;

    set_real_ip_from   197.234.240.0/22;

    set_real_ip_from   198.41.128.0/17;

    set_real_ip_from   162.158.0.0/15;

    set_real_ip_from   104.16.0.0/12;

    set_real_ip_from   172.64.0.0/13;

    #set_real_ip_from   2400:cb00::/32;

    #set_real_ip_from   2606:4700::/32;

    #set_real_ip_from   2803:f800::/32;

    #set_real_ip_from   2405:b500::/32;

    #set_real_ip_from   2405:8100::/32;

    real_ip_header     CF-Connecting-IP;

 

 

    # SSL PCI Compliance

    ssl_session_cache   shared:SSL:10m;

    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers on;

    ssl_ciphers        "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256$

 

 

    # Error pages

    error_page          403          /error/403.html;

    error_page          404          /error/404.html;

    error_page          502 503 504  /error/50x.html;

 

 

    # Cache

    proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m$

    proxy_cache_key "$host$request_uri $cookie_user";

    proxy_temp_path  /var/cache/nginx/temp;

    proxy_ignore_headers Expires Cache-Control;

    proxy_cache_use_stale error timeout invalid_header http_502;

    proxy_cache_valid any 3d;

 

    map $http_cookie $no_cache {

        default 0;

        ~SESS 1;

        ~wordpress_logged_in 1;

    }

 

 

    # Wildcard include

    include             /etc/nginx/conf.d/*.conf;

}

 

server {

 

location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|p$

        expires max;

    }

}

 

Link to post
Share on other sites

nginx -t укажет вам на ошибку!

Уберите последнююб скобку }

 

И в строке location есть ошибка:

Где закрывающая скобка?

Вы же сами говорили, чтобы убрал. Да и с ней тоже не работало.

Link to post
Share on other sites

Я говорил убрать последнюю фигурную кавычку.

А после сказал об СТРОКЕ location где не хватает обычной закрывающей кавычки.

Ну и главное:

 

 

Блок server { } должен находится внутри блока http { тут }, а не после него.
Link to post
Share on other sites

Я говорил убрать последнюю фигурную кавычку.

А после сказал об СТРОКЕ location где не хватает обычной закрывающей кавычки.

Ну и главное:

А можете тут написать как правильно должно быть? Боюсь опять что нибудь испортить.

Спасибо!

Link to post
Share on other sites

http://pastebin.com/dMuK90fA

 

Обратите внимание, что в вашем примере, который я и использовал, обрезаны строки. Видимо вы копировали из bash редактора.

Окончательно запутался, похоже это не для меня или это трудно назвать гайдом для новичков. Что означает текст красным цветом?

А тут:

server {

        server_name domain; # ваш домен

        listen 1.1.1.1; # ваш IP

я так понимаю нужно указывать свой домен и IP адрес, но если на сервере несколько доменов и IP?

Link to post
Share on other sites

Окончательно запутался, похоже это не для меня или это трудно назвать гайдом для новичков. Что означает текст красным цветом?

А тут:

server {

        server_name domain; # ваш домен

        listen 1.1.1.1; # ваш IP

я так понимаю нужно указывать свой домен и IP адрес, но если на сервере несколько доменов и IP?

Ошибся IP один, а вот доменов несколько

Link to post
Share on other sites

При смене портов надо еще поменять правила фаервола (iptables). Если сейчас по ssh не подключается, то надо поискать где у хостера спрятан VNC доступ :)

 

Гайд акутализирую на днях.

А точнее можно узнать когда?

Link to post
Share on other sites

Можете не указывать server_name, но разумнее создать отдельные блоки server {} под каждый домен.

Спасибо, сейчас попробую, а что вы выделили красным цветом?

Link to post
Share on other sites

Можете не указывать server_name, но разумнее создать отдельные блоки server {} под каждый домен.

server {

debian-512mb-ams3-01 mysite.ru;

listen 12.19.5.2;

 

location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|p$ {

        expires max;

    }

}

 

}

 

Увы, не помогло.

Link to post
Share on other sites

Прекратите копировать части конфига. Если в чем нужна помощь давайте весь блок полностью, а не его оборванную справа часть.

debian-512mb-ams3-01 mysite.ru;

 

Что это такое? Откуда вы это взяли? Где вы в моем конфиге видели что подобное?

 

Возьмите лучше виртуалку с администрированием базовым и не мучайтесь.

Link to post
Share on other sites

Прекратите копировать части конфига. Если в чем нужна помощь давайте весь блок полностью, а не его оборванную справа часть.

Что это такое? Откуда вы это взяли? Где вы в моем конфиге видели что подобное?

 

Возьмите лучше виртуалку с администрированием базовым и не мучайтесь.

Хочу попробовать изучить.

Link to post
Share on other sites

тогда читайте nginx.org. Там идеально просто вылизана документация.

Спасибо, обязательно почитаю. Я разобрался, виной всему моя невнимательность.

Link to post
Share on other sites
  • 1 month later...

Добрый день. Спасибо за подробный гайд. 

Как вы и написали в конце оного у меня не стартовал nginx. При добавлении 

net.ipv4.ip_nonlocal_bind = 1

в файл 

/etc/sysctl.conf 

и выполнении команды 

sysctl -p /etc/sysctl.conf

появлялется такое сообщение:

sysctl: permission denied on key 'net.ipv4.ip_nonlocal_bind'

 

что бы это значило и как это исправить?

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...