От покупки сервера до базового развертывания проекта (учебник уровня няни!)

Nginx
От покупки сервера до базового развертывания проекта (учебник уровня няни!)

предисловие

Когда я впервые вступил в контакт, я был действительно сбит с толку такими терминами, как хост VPS, виртуальный хост, облачный сервер и т. Д. появилась статья. В этой статье описываетсяУзнать о сервере ---> выбрать сервер ---> купить сервер ---> использовать сервер ---> Развертывание проектаэти аспекты. Первая половина статьи предназначена в основном для того, чтобы различать разные серверы. Если вам просто нужно понять операцию, вы можете начать скупить серверНачинать. Надеюсь, вам всем понравится смотреть!

Узнать о сервере

основная концепция

Серверы обычно делятся на независимые серверы (физические серверы), хосты VPS, виртуальные хосты и облачные серверы. В то же время, будь то виртуальный хост, хост VPS или облачный сервер, по сути это компьютер, и все они состоят из ресурсов операционной системы и сервера.

image-20200622103502386

VPS-хостинг

VPS хостинг этофизический серверИспользуя технологию виртуализации для разделения на несколько операционных систем, каждому VPS может быть назначен независимый общедоступный сетевой IP-адрес, независимая операционная система, независимое большое пространство, независимая память, независимые ресурсы ЦП, независимые программы выполнения и независимая конфигурация системы и т. д. автономия. Он имеет эксклюзивную операционную систему и серверные ресурсы (один ресурс VPS).


веб хостинг

По сравнению с хостингом VPS несколько виртуальных хостов совместно используют одну операционную систему и ресурсы сервера, что можно назвать одним ресурсом VPS, совместно используемым несколькими пользователями. При этом Alibaba Cloud делит виртуальные хосты на два типа. Основное различие между общим виртуальным хостингом и эксклюзивным виртуальным хостингом заключается в разнице в IP.Общий виртуальный хостинг — это общий IP-адрес, а эксклюзивный виртуальный хостинг — это эксклюзивный IP-адрес.

Классифицировать виртуальные машины по IP, которые можно разделить наВМ с общим IP-адресома такжеВыделенный IP ВМРазница в следующем:

  • Безопасность, включение веб-сайта: общий IP-адрес. Поскольку многие сайты используют один и тот же IP-адрес, если сайт часто подвергается атакам хакеров или его SEO плохое, это повлияет на другие сайты. А вот у независимых ИП такой проблемы не будет.
  • Доступ: к виртуальным машинам с независимым IP-адресом можно получить доступ с помощью IP-адреса и доменного имени, но к виртуальным машинам с общим IP-адресом можно получить доступ только с помощью доменного имени.

Облачный сервер

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

Общий облачный сервер:

  • Облачный сервер ECS Alibaba
  • Облачный сервер CVM Tencent
  • Умное облако BCC Baidu

Примечание: Если есть проблема с родительским сервером VPS, значит, у всех виртуальных хостов внутри тоже проблемы, а это потеря для всех. В кластере облачных серверов есть проблема с одним сервером и файлом образа, поэтому перерыва не будет.

разработка сервера

  • Вначале все серверы были физическими серверами, но из-за необходимости приобретения оборудования, кабелей, настройки сетей и т. д. его стоимость была слишком высока, но окончательный коэффициент использования оборудования не был высоким.
  • Чтобы улучшить использование физических серверов и снизить затраты, появились VPS. Когда технология виртуализации используется для виртуализации операционной системы физического сервера из множества наборов независимых операционных систем, эти независимые системы называются VPS. Среди них виртуализация — это уровень абстракции, который отделяет физическое оборудование от операционной системы, тем самым обеспечивая более эффективное использование и гибкость ИТ-ресурсов.
  • Несмотря на наличие технологии виртуализации, пользователям необходимо самостоятельно устанавливать операционную систему и среду при использовании сервера, что очень трудоемко и занимает много времени, поэтому появляются виртуальные хосты. Виртуальный хост на самом деле представляет собой набор операционных систем, которые несколько пользователей совместно используют в настроенной среде (PHP + MySQL и т. д.). Пользователи могут использовать сгенерированную систему напрямую, но на нее будут влиять ограничения основной серверной системы и вытеснение ресурсов другими виртуальными хостами.
    • Например, если новый пользователь добавлен сейчас, программа управления виртуальным хостом напрямую создаст новую папку по заданному пути и создаст вложенную базу данных в базе данных.Данные хранятся во вновь созданной базе данных, и вся сайт готов. После разрешения доменного имени его можно использовать напрямую. Простой и быстрый, но поскольку это общая среда с другими, степень свободы невелика и существует много ограничений, поэтому его производительность очень общая, когда его используют многие люди.
  • Чтобы интегрировать компьютерные ресурсы в форму, позволяющую брать столько, сколько вы хотите, столько, сколько вы используете, появились облачные сервисы. Облачные вычисления заключаются в объединении большого количества серверов, сетей и ресурсов хранения в большой кластер, который при необходимости использования выделяется из кучи ресурсов и освобождается после использования.

основная концепция

веб хостинг

Виртуальный хостинг, также известный как виртуальный сервер, использует технологию виртуализации для разделения физического сервера или хоста VPS на несколько «виртуальных» серверов. Все виртуальные хосты независимы друг от друга и имеют свой собственный IP, память, ЦП, место для хранения документов и т. д. Для внешнего мира виртуальный хост эквивалентен независимому хосту, поэтому этот виртуализированный логический хост называется «виртуальным хостом».

  • преимущество
    • Простота управления: поскольку все виртуальные хосты находятся на одном хосте, они могут совместно использовать одну и ту же конфигурацию и настройки друг с другом, что экономит трудозатраты и затраты на управление.
    • Снижение затрат: появление виртуальных хостов значительно снизило стоимость создания физических хостов.Поскольку пользователи нескольких виртуальных хостов разделяют обслуживание оборудования, обслуживание сети и обслуживание связи физических хостов, стоимость снижается до определенной степени.
    • Низкие начальные затраты: конфигурация программного обеспечения, антивирус, защита от атак и другие меры безопасности предоставляются профессиональными поставщиками услуг, что значительно снижает сложность операций. Веб-хостинг в основном не требует управления и обслуживания вашего хостинга, большую часть работы по управлению сделает интернет-провайдер.
  • недостаток
    • Плохая автономия: виртуальные хосты не могут быть установлены и управляться удаленно клиентами по желанию.
    • Ограниченные функции и трафик: некоторые функции будут ограничены поставщиками услуг, а некоторые поставщики услуг имеют определенные ограничения на трафик веб-сайта, поэтому при относительно большом трафике веб-сайта он будет недоступен.
    • Существует захват ресурсов: поскольку на сервере есть много виртуальных хостов, совместно использующих ресурсы сервера, если другие виртуальные хосты выполняют некоторые операции, которые занимают трафик и полосу пропускания, это, вероятно, повлияет на других пользователей.

Облачный сервер (ECS)

Стандартное определение облачного сервера (Elastic Compute Service, ECS) относится к вычислительной службе, которая проста, эффективна, безопасна и надежна и обладает эластично масштабируемыми возможностями обработки. Его управление проще и эффективнее, чем физическими серверами. Облачный хостинг — это виртуализация нескольких ресурсов физического сервера, что означает хорошую устойчивость к сбоям и масштабируемость, с независимой широкополосной связью иIP, пользователи могут самостоятельно устанавливать различные операционные системы и настраивать соответствующую операционную среду в соответствии со своими потребностями, а также могут обновлять и понижать ее функции в соответствии со своими потребностями.

  • преимущество
    • Быстрое развертывание: язык и тип системы можно настроить во время инициализации.
    • Безопасность. Платформа предоставляет бесплатные услуги, такие как защита от DDoS-атак, уничтожение троянов и атаки против насилия.
    • Высокая устойчивость к сбоям: облачный сервер имеет возможность автоматического восстановления и горячей миграции, поэтому даже в случае сбоя оборудования или пожара облачный сервер может быстро перенести данные и продолжить их использовать.
    • Гибкое расширение: пользователи облачных серверов могут свободно настраивать ЦП, память и пропускную способность в соответствии с объемом бизнеса. Данные не будут потеряны после обновления конфигурации.
  • недостаток
    • Высокая стоимость запуска: нужен профессиональный менеджмент персонала.

    • Зависит от сети, в отличие от физических серверов, где данные хранятся локально.

      image-20200621153859578

Поскольку я учился настраивать nginx, я, наконец, выбрал облачный сервер ECS от Alibaba.

Nginxчто это такое?

NginxЭто легкий HTTP-сервер, который использует управляемую событиями асинхронную неблокирующую структуру обработки, что обеспечивает отличную производительность ввода-вывода и часто используется для обратного прокси-сервера на стороне сервера и балансировки нагрузки.

Nginxа такжеNode.jsЯзыковые отношения:

Node.jsможет быть реализованNginxБольшинство функций описаны выше, но из-за их разной направленности их можно использовать вместе для достижения лучших результатов.Node.jsХорошо обрабатывает конкретную бизнес-логику иNginxХорошо справляется с обработкой базовых ресурсов на стороне сервера, таких как переадресация статических ресурсов, прокси-сервер направления, балансировка нагрузки и т. д.

прямой прокси

Онлайн-инструмент kexue, который мы обычно используем, — это прямой прокси-сервер, который может проксировать запрос пользователя на сервер, который может получить доступ к внешней сети, а затем возвращать возвращенную информацию клиенту. Прокси-сервер непрозрачен для пользователя, и пользователю необходимо вручную выбрать прокси.

1585375161159

обратный прокси

На больших веб-страницах большинство из них используют обратные прокси. Когда клиент запрашивает данные с сервера. Фактически запрос сначала отправляется на прокси-сервер, а затем перенаправляется на сервер в той же локальной сети прокси-сервером. Другими словами, внешним клиентам предоставляется унифицированная запись прокси.Запросы клиента сначала проходят через прокси-сервер.Что касается того, к какому контенту сервера фактически осуществляется доступ в интрасети, этот прокси контролирует.

При этом пользователю не нужно оперировать, а обратный прокси прозрачен для пользователя.

1585375567019

Направление здесь — прямой прокси, прокси — клиент, а обратный прокси — сервер.NginxОн должен действовать как роль этого прокси.

Причины использования обратного прокси:

1.Безопасность и разрешения: можно пройтиNginxОтфильтруйте некоторые несанкционированные или небезопасные запросы. В то же время, поскольку пользователь не может получить прямой доступ к реальному серверу, повышается безопасность.

2.Балансировка нагрузки: при наличии нескольких серверов вы можете использоватьNginxсделать балансировку нагрузки,NginxОн будет запрашивать, не является ли сервер ненормальным.Если это ненормально, он не будет отправлять запрос на сервер, пока сервер не вернется в нормальное состояние. При этом запрос будет распространяться на каждый сервер. Безопасность и стабильность сервера гарантируются.

основная концепция:

  • Регионы и зоны доступности: относится к физическому местоположению, в котором находится экземпляр ECS.

  • пример: Эквивалент виртуальной машины, включая самые основные вычислительные компоненты, такие как ЦП, память, операционная система, сеть и диск.

  • Технические характеристики экземпляра: относится к конфигурации экземпляра, включая количество ядер виртуальных ЦП, память и производительность сети. Спецификации экземпляра определяют вычислительные возможности и возможности хранения экземпляра ECS.

  • зеркало: Относится к шаблону рабочей среды экземпляра ECS, обычно включая операционную систему и предустановленное программное обеспечение. Операционная система поддерживает несколько дистрибутивов Linux и разные версии Windows.

  • блочное хранилище: Включая облачный диск и общее блочное хранилище на основе архитектуры распределенного хранилища, а также локальное хранилище на основе локального жесткого диска физической машины.

  • снимок: относится к резервной копии данных, хранящейся в эластичном блоке в определенный момент времени.

  • Тип сети:

  • частная сеть: Основываясь на изолированной сетевой среде, построенной на базе Alibaba Cloud, VPC логически полностью изолированы. Дополнительные сведения см. в разделе Частные сети.VPC.

  • классическая сеть: Унифицированное развертывание в общедоступной инфраструктуре Alibaba Cloud, планирование и управление Alibaba Cloud.

  • группа безопасности: он состоит из экземпляров в одном регионе с одинаковыми требованиями к защите и взаимному доверию.Это виртуальный брандмауэр, используемый для установки контроля доступа к сети для экземпляров.

Выбор зеркала:

публичное зеркало

Это базовый образ системы, предоставленный официальными или сторонними совместными продавцами Alibaba Cloud, включающий только начальную системную среду. Пожалуйста, самостоятельно настройте среду приложения или соответствующую конфигурацию программного обеспечения в соответствии с вашей реальной ситуацией.

пользовательское изображение

Генерируется на основе моментального снимка пользовательской системы, включая начальную системную среду, среду приложений и соответствующую конфигурацию программного обеспечения. Выберите собственный образ для создания облачного сервера, что сэкономит время на повторную настройку.

общее зеркало

Это изображение, которым активно делятся с вами пользовательские изображения других учетных записей. Alibaba Cloud не гарантирует целостность и безопасность изображений, которыми вы делитесь с другими учетными записями, и вы используете общие изображения на свой страх и риск.Узнайте больше об общем зеркалировании>

зеркальный рынок

Предоставляйте высококачественные образы, которые прошли строгую проверку, предустановленные операционные системы, среды приложений и различное программное обеспечение, без настройки и могут развертывать облачные серверы одним щелчком мыши. Удовлетворение индивидуальных потребностей, таких как создание веб-сайтов/разработка приложений/визуальное управление.Узнать об услугах зеркального рынка >

общественное зеркало, среднееCentOSа такжеUbuntuСуществует два основных дистрибутива Linux.

img
CentOS
img
Ubuntu
На основе Red Hat Linux Enterprise на основе Debian
менее частые обновления Обновляйте часто
Более стабильный и немного более безопасный, так как обновления выходят реже. Обновленный пакет может быть нестабильным, небезопасным? Нет, потому что они много тестируют перед выпуском официальной версии.
Недостаточно руководств и меньше пользовательской базы Обширная документация, активное сообщество и множество онлайн-руководств.
Сложно для новичков, потому что настольные дистрибутивы на основе Red Hat не популярны. Легче в использовании для новичков, уже знакомых с настольной версией Ubuntu.
cPanel поддержка cPanel не поддерживается
Пакеты .rpm и менеджер пакетов "yum" пакеты .deb и менеджер пакетов «apt-get»

Новичкам: лучше использоватьUbuntu.

1. Благодаря его сильному сообществу многие проблемы могут быть решены сразу

2.UbuntuДля ранее использованного сервераUbuntuНастольным людям будет намного проще. То же самое касается и других дистрибутивов, ноUbuntuНастольная версия более популярна, чем любой другой домашний рабочий стол на базе Linux.

Коммерческое использованиеCentos

1.CentOSОтносительно стабильнее и безопаснее, из-за низкой частоты обновлений и длительного времени тестирования багов мало.

2. Большинство панелей управления (включая самые популярные -cPanel) поддерживает толькоCentOS. если тебе нужнопанель управлениятогда выбирайCentosлучше.

купить сервер

Покупка облачного сервера ECS зависит от ваших потребностей и может быть разделена на покупку в один клик и индивидуальную покупку.

  • Покупка в один клик: есть конкретные рекомендации и шаблоны

1589276533191

1589276604233

индивидуальная покупка

Создайте экземпляр с помощью мастера

путь обучения

использовать путь

image-20200621171007270

Создать экземпляр и все остальное

Введите первыйECSКонсоль найдена и подключена в соответствии с шагами, показанными на рисунке Последняя учетная запись удаленного входа — root, а пароль — пароль сервера.

image-20200621172522586

image-20200621172346716

Примечание. Пароль должен быть сложным, иначе его легко взломать. Затем сохраните пароли всех связанных учетных записей, чтобы избежать потери. При подключении к удаленному серверу я используюxShell. Он может автоматически сохранять статус входа при входе в систему.

Подключиться к экземпляру с помощью XShell

Адрес загрузки персональной версии Xshell + Xftp, введите имя и адрес электронной почты, чтобы получить ссылку для скачивания.

Создайте новый сеанс и заполните общедоступный IP-адрес экземпляра.

image-20200621175337101

image-20200621175536230

Поскольку порт 22 доступа 22, необходимо разрешить безопасную группу портов 22доступ.

image-20200622083126806

image-20200621175641308

image-20200621175741082

image-20200621180044654

УстановитьNginx

nginx.orgэто сообщество с открытым исходным кодом, которое управляетNginxВерсия с открытым исходным кодом.

nginx.comэто бизнес-сообщество, которое управляетNginx Plusкоммерческая версия.

Здесь мы используем версию с открытым исходным кодомОфициальный сайт Nginx

использоватьXshellВведите пароль учетной записи, чтобы войти в интерфейс, перейдите непосредственно на официальный сайт и приступайте к работе.

Среда установки

sudo apt install curl gnupg2 ca-certificates lsb-release

настраиватьNginxподходящий репозиторий

echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

УстановитьNginx

sudo apt update
sudo apt install nginx

общийLinuxЗаказ

cd 路径 //进入文件
ps -ax | grep nginx //查看正在运行进程中包含nginx的
kill 端口号 //上个命令可查到端口号kill 掉进程
mkdir dirName1 dirName2 //创建文件夹
ls //查看当前目录
ll //查看当前目录及其权限
rm -rf path //强制删除path无法恢复
rm path //删除path文件
cp dirName //赋值文件夹
vim //编辑文件夹,退出且保存需要先按Esc 后输入  :wq
cat //查看文件夹

Завершение общих команд Linux

Начальная конфигурация

ll // 查看当前目录

1589273866491

cd .. // 到上一层(最顶层)
ll // 查看当前目录

1589273899780

cd etc/nginx // 进入到 Nginx 目录
ll // 查看目录

1589274045829

vim nginx.conf // 编辑配置文件
i // 进入编辑模式

1589274149502

esc // 退出编辑
:wq // 保存当前编辑
// 接下来要重启才能生效

Начать сначала

метод 1:

ps -ax | grep nginx // 查看正在运行进程中包含 Nginx 的进程
kill 端口号 // 上面可以查询到
nginx

1589275540370

Способ 2:

nginx -s reload // 重启服务器

Команда Nginx

nginx 直接开启
nginx -s quit 保存后退出
nginx -s stop 直接退出
nginx -s reload 修改配置项后直接更新

#可以配合 ps -ax | grep nginx 来查看当前 Nginx 使用的端口

Введите свой серверIPувидит прямоwelcome nginxстраница! Это связано со ссылкой по умолчанию на элемент конфигурации/conf.dВсе файлы конфигурации по пути.

1589274671630

Если вам это не нужно, просто закомментируйте. себяnginx.confконфигурация файла

1585532228238

конкретный бой

Подробная конфигурация

базовая конфигурация

 server {
        # nginx监听端口号,不能被其他应用占用a
        listen 80;

        # nginx绑定的域名
        server_name  localhost;

        # 公共静态资源
        location / {
          index index.html;
          root /project/airport_pc;
          # 项目打算放入的位置
          autoindex on;
          # 是否启用目录索引
         }
     }

положить предмет

скачатьwinSCPилиXftpпосле входа

1589275077017

ПучокVueУпакуйте файлы в файл dist и поместите их в предыдущее местоположение конфигурации (ранее настроенный/project/airport_pc)

1589275147857

Включить сжатие

Двустороннее руководство по Gzip "Краткая оптимизация производительности"

Все конфигурации

// /etc/nginx# vim nginx.conf  文件

    default_type        application/octet-stream;
    # 默认文件类型

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # 加载模块化配置文件
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.

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


        gzip            on;
        gzip_comp_level 6;
        gzip_types text/plain application/javascript application/x-javascript text/css text/javascript ;
        gzip_static     on;
        gzip_vary       on;
        gzip_buffers    2 4k;
        gzip_http_version 1.1;
    server {
        # nginx监听端口号,不能被其他应用占用a
        listen 80;

        # nginx绑定的域名
        server_name  localhost;

        # 公共静态资源
        location / {
          index index.html;
          root /project/airport_pc/;
          autoindex on;
          # 是否启用目录索引
          # 开启强缓存
          add_header    Cache-Control  max-age=360000;
         }
     }
}

Уведомление:

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

После завершения регистрации, если вам нужно изменить сервер, вам не нужно повторно подавать заявку, вам нужно только разрешить ранее поданное доменное имя на новый сервер.

После завершения записи, если вы хотите изменить другие доменные имена для разрешения на этот сервер, вы не можете напрямую получить доступ к серверу через доменное имя, и вам нужно будет выполнить запись снова.

Эпилог

это наконец закончилось! Эта статья в основном является резюме.В онлайн-информации есть противоречия и повторения.Если вы обнаружите какие-либо ошибки, пожалуйста, оставьте сообщение, чтобы указать!

Если это было полезно для вас, ставьте палец вверх и вперед!

Nginxпродвинутый, чтобы увидетьNginx и фронтенд разработка,Nginx от начала до практики, подробное объяснение на 10 000 слов!

Справочная документация:

  1. Облако Alibaba --- Обзор начала работы
  2. Облако Alibaba --- Что такое ECS
  3. В чем сходство и различие между VPS, облачным сервером (облачным хостом) и виртуальным хостом?
  4. Разница между VPS и виртуальным хостом (требуется kx доступ в интернет)
  5. CentOS против Ubuntu: что лучше для серверов?
  6. Подробная конфигурация
  7. Официальный сайт Nginx
  8. Завершение общих команд Linux
  9. Двустороннее руководство по Gzip «Краткая оптимизация производительности»Nginx и фронтенд разработка
  10. Nginx и фронтенд разработка