Назад | Перейти на главную страницу

Каковы основы работы с веб-сервером?

Это предлагаемый Канонический вопрос о начале администрирования веб-сервера.

Предполагая, что вы начинающий SysAd, новичок в WebOps или небольшая команда с небольшим опытом или без поддержки SysAd веб-сервера (и не можете себе этого позволить прямо сейчас), что вы должны сделать, чтобы настроить и защитить веб-сервер для своего бизнеса?

Прежде чем мы начнем:

Having quality people will save you money. Just like иметь хорошего юриста (possibly NSFW for swearing) or an accountant, having a quality SysAd will probably save you money, often by simply helping you to avoid costly mistakes. You may not have the money to pay for the expertise now, but as soon as you can, you should make that investment.

На этот вопрос нет однозначного однозначного ответа. Если вы один из тех, кто задает этот вопрос, вы должны понимать, что этот вопрос является ядром области, в которую профессионалы вкладывают годы изучения и практики. Аналогичный вопрос для Разработчика будет: «Как мне написать веб-приложение?»; Конечно, мы могли бы указать вам, как установить Ruby-on-Rails и RoR «Hello World». Хотя это «ответ на вопрос», на самом деле это вам не поможет. Этот вопрос / ответ - попытка действительно помочь вам.

Ты должен знать:

Web Server Administration is a large topic, and it is intrinsically interweaved with many different disciplines. To do it well you will need a fundamental understanding of TCP/IP, your host OS, your WebServer Application, and some understanding of running the application stack.

Будьте готовы читать. Много.

Определите свои потребности:

Требования

  • Вы используете простой статический веб-сайт (возможно, с некоторыми эффектами Javascript) или
  • (что более вероятно) запускаете ли вы приложение, у которого есть веб-интерфейс?
  • У вас есть постоянные данные? (Вам нужна база данных?)
  • Используются ли учетные данные пользователя? Есть ли еще одна причина, по которой вам нужно защищать соединение между пользователем и веб-сайтом? (SSL)
  • Вы обрабатываете какие-либо платежи? Помимо требований к SSL, вам необходимо изучить дополнительные аспекты (в зависимости от региона). Они также будут различаться в зависимости от используемой вами платежной системы.

Определите свой стек:

Как вы собираетесь это написать и запустить?

  • Платформа (Windows, Linux, другие Unix и т. Д.)
  • Требования к приложениям (Ruby / Rails, Python, Perl, PHP, .NET и т. Д.)
  • База данных (...)
  • Кеширование? (Честно говоря, не беспокойтесь об этом сейчас; имейте в виду, что это решает одни проблемы и может создать другие. Это проблема производительности, и сейчас вы просто пытаетесь начать.)

Некоторые из этих вариантов проинформируют других. Например, если вы используете приложение .NET, вы, вероятно, захотите использовать MSSQL и IIS; Если вы используете Ruby on Rails, вам, вероятно, понадобится сервер Linux; и т.д...

Познакомьтесь со своим продуктом:

Теперь, когда вы определились с тем, как будет выглядеть ваш стек, вам нужно его узнать. Здесь вы должны проводить большую часть своего времени. Поиск по запросу «Настроить [продукт]» или «[продукт] Руководство администратора» даст вам много ресурсов.

Например, если вы используете Apache в Ubuntu, вам обязательно нужно прочитать:

Ищите похожие документы, статьи, сообщения в блогах для своего стека.

Установите минимум:

Для Apache существует огромное количество модулей, но если вы не собираетесь использовать PHP (например), не устанавливайте mod-php.

Здесь также следует указать, что вам следует избегать установки графического интерфейса пользователя, если это сервер Linux; Графический интерфейс потребляет значительное количество системных ресурсов.

Обеспечение безопасности сайта:

  • Обеспечьте минимальные разрешения для работы. Это касается не только файловой системы, но и сервисов и процессов.
  • Держите порты сервера отключенными для ненужных служб. (Опять же, установите только минимум.)
  • Ограничьте интерфейсы приложений внутренней средой (если, например, веб-приложение запускается на том же сервере (например, Rails), ограничьте его прослушиванием только localhost)

В заключение:

Это только начало того, что вам нужно сделать, чтобы сайт заработал. Это даже не касается проблем обслуживания серверов или того, как решать проблемы масштабирования (если ваш проект станет успешным), или каких-либо других бесчисленных проблем, которые хорошо осведомленный SysAd решит за вас.