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