грамотность серверного ПО

Java сервер

Позвольте мне сначала сказать кое-что, так как я начал чистить видео на станции B, я чувствую, что слишком многому нужно научиться. Это «Грамотность серверного программного обеспечения» — это то, к чему я пришел после просмотра видео брата Яна. Например, три концепции веб-сервера, HTTP-сервера и сервера приложений были замечены много раз, но если бы вам пришлось рассказать разница между ними, я потерял дар речи.

Кроме того, я использовал Tomcat, Nginx, Apache, Jetty, Undertow, каковы их преимущества и недостатки, гм. . . . . . Пришлось промолчать. Может быть много друзей, которые использовали его, как и я, но конкретную разницу действительно трудно сказать, поэтому я планирую воспользоваться этой возможностью, чтобы учиться с вами. (Я представитель класса, я горжусь)

Прежде всего, веб-сервер, который обычно относится к серверу веб-сайта, может предоставлять услуги веб-клиентам, таким как браузеры (ПК или мобильные), для запроса данных или загрузки данных. Сервер использует HTTP (протокол передачи гипертекста) для связи с клиентским браузером, поэтому мы также называем веб-сервер HTTP-сервером.

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

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

Обычное программное обеспечение веб-сервера включает Nginx, Apache, IIS, а обычное программное обеспечение сервера приложений включает WebLogic, JBoss, первое более легкое, а второе более тяжелое.

Далее поговорим о некоторых распространенных серверных программах.

01. Кот

Что касается моей карьеры программиста, больше всего используется Tomcat, никто. Если Tomcat успешно установлен, вы можете посетить http://127.0.0.1:8080 в локальном браузере, чтобы отобразить домашнюю страницу по умолчанию, как показано на рисунке ниже.

Tomcat — это контейнер сервлетов, разработанный в рамках проекта Jakarta в рамках Apache Software Foundation, который реализует поддержку сервлетов и JavaServer Pages (JSP) и предоставляет некоторые уникальные функции веб-сервера.

JSP — это стандарт динамической веб-технологии, установленный Sun Microsystems. JSP может отвечать на запрос, отправленный клиентом, и динамически генерировать HTML, XML или веб-страницы документов другого формата в соответствии с содержанием запроса, а затем возвращать его запрашивающей стороне.

JSP использует язык Java в качестве языка сценариев для предоставления услуг для HTTP-запросов пользователей и может выполнять сложные бизнес-требования вместе с другими программами Java на сервере. Я программист Java в городе третьего уровня, и мне нужно разработать несколько небольших веб-сайтов, поэтому я чаще всего использую Tomcat.

02. Нгинкс

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

Одна из самых неприятных вещей в Nginx — это то, что его автор Игорь Сейсоев находится в тюрьме.

Согласно официальным результатам тестирования, Nginx может поддерживать 50 000 параллельных подключений, и его используют известные отечественные компании, такие как Baidu, Jingdong, Sina, NetEase, Tencent, Taobao и другие.

Я не знаю, слышали ли вы понятие виртуального хоста, то есть в веб-сервисе есть независимый веб-сайт, этот сайт соответствует независимому доменному имени (может быть, IP или порту), имеет независимые программы и ресурсы, и может быть внешне независимым.Предоставлять услуги для доступа пользователей.

Существует три типа виртуальных хостов: виртуальные хосты на основе домена, виртуальные хосты на основе портов и виртуальные хосты на основе IP.

Nginx может использоватьserver{}Тег используется для идентификации виртуального хоста, а веб-служба может иметь несколько пар тегов виртуального хоста, то есть одновременно может поддерживаться несколько сайтов виртуальных хостов. Это очень практично.

03. Апачи

Вначале я думал, что Apache — это Tomcat, и не мог отличить его. Позже я узнал, что они были совершенно другими, и логотипы были другими (правда).

Apache обычно относится к HTTP-серверу Apache, который является программным обеспечением веб-сервера в рамках Apache Software Foundation (который принадлежит к тому же фонду, что и Tomcat, поэтому его легко спутать). Он широко используется и является одним из самых популярных программ для веб-серверов благодаря своей кроссплатформенности и безопасности. Это быстро, надежно и расширяемо с помощью простого API.

Я использовал Apache, когда устанавливал WordPress на сервер.Я не знал о существовании LAMP на тот момент, поэтому сильно мучился в процессе установки.Ключ в том, что установка в итоге не удалась, а капитализация было неловко.

Наконец-то установка была завершена с удаленной помощью друга группы по бронзовой группе, который занимается PHP. LAMP — это то, что он сказал мне, его очень просто установить, и он очень подходит для таких программистов, как я, которые устойчивы к командным строкам.

LAMP — это аббревиатура от набора бесплатного программного обеспечения, которое запускает динамический веб-сайт или сервер:

  • Linux, операционная система (на Linux установлено общее серверное ПО, с отличной производительностью)
  • Apache, веб-сервер (то есть HTTP-сервер Apache)
  • MariaDB или MySQL, система управления базами данных
  • PHP, Perl или Python, язык сценариев

Когда эти программы используются вместе, они очень динамичны.Есть много вариантов.Другим известным является LNMP, который использует Nginx вместо Apache.

04. Причал

Jetty и Tomcat имеют много общего, например предоставление среды выполнения для JSP и сервлетов. Jetty написан на языке Java, а его API опубликован в виде набора пакетов JAR.

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

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

05. Отлив

Undertow — это гибкий, высокопроизводительный веб-сервер, написанный на Java, который предоставляет блокирующие и неблокирующие API на основе NIO.

Undertow можно встроить в приложение или запустить отдельно, написав всего несколько строк кода, что упрощает начало работы. Следующий код представляет собой простой пример сервера Hello World с использованием Async IO, предоставленный на официальном сайте:

public class HelloWorldServer {

    public static void main(final String[] args) {
        Undertow server = Undertow.builder()
                .addHttpListener(8080, "localhost")
                .setHandler(new HttpHandler() {
                    @Override
                    public void handleRequest(final HttpServerExchange exchange) throws Exception {
                        exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
                        exchange.getResponseSender().send("Hello World");
                    }
                }).build();
        server.start();
    }
}

После прямого запуска введите адресную строку в браузереhttp://localhost:8080можно получить доступ. Он кажется очень легким?

Если небольшой партнер использовал JFinal для разработки небольшого веб-сайта, он должен быть знаком с Undertow, поскольку контейнер JFinal по умолчанию был переключен на Undertow.

JFinal — это чрезвычайно быстрая структура WEB + ORM, основанная на языке Java.Основными целями его разработки являются быстрая разработка, меньше кода, простота обучения, мощные функции, легкий вес, простое расширение и Restful.

06. Уровень предприятия

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

  • JBoss, приобретенная Red Hat и позже переименованная в WildFly.

  • WebLogic от Oracle.

  • WebSphere, выпускаемый корпорацией IBM.

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

Если вы считаете, что статья полезна для вас, пожалуйста, выполните поиск по запросу "Тихий король 2"Читал в первый раз.

Эта статья была включена в GitHub,Портал~, а также полноценные тестовые сайты для интервью с крупными производителями Добро пожаловать в Star.

Я Тихий Король Эр, программист с красивой внешностью, но полагающийся на талант.Подпишитесь, чтобы повысить эффективность обучения, не забудьте три последовательных ах, лайкните, любимый, оставьте сообщение, я не выбираю, хи хи.