Примечание: Эта статья является только личным методом исследования и разведки, может быть, не слишком строгим, если вы совершите какие-либо профессиональные ошибки, но также надеюсь, что офицеры исправят, спасибо. ()
Особая благодарность: Чистое небо Это так хлопотно-задавать вам каждый раз, когда вы встречаетесь с какими-либо вопросами. Эта статья состоит из Аши Тошия Оригинального текста, который вы можете использовать в любых учебных и коммуникационных целях, а не для какой-либо формы коммерческого использования. Если вам нужно воспроизвести, пожалуйста, укажите информацию об авторских правах и источник оригинального автора.
Краткое описание окружающей среды
Локальная отладка
Операционная система: Ubuntu Server x64 14.04.1 LTS Ссылка Официальное примечание Ресурсы процессора: Intel Core i7 3610QM (VirtualBox применяется только к одному ядру) Ресурсы памяти: 512 МБ DDR3 1600 МГц Ресурсы памяти: 10 ГБ механический жесткий диск ноутбука
На стороне сервера
Операционная система: Ubuntu 14.04 X86 Ресурсы процессора: Процессор Intel (R) Xeon (R) E31245 @ 3,30 ГГц (4 ядра) Ресурсы памяти: 524288 кБ (512 МБ) Ресурсы хранилища: SSD 20 ГБ
После инициирования HTTP – запроса он проходит через Nginx, если это PHP-сайт, он перенаправляется в Apache 2, а если это ASP. ЧИСТЫЙ сайт, он перенаправляет к Иисусу.
Настройка ASP.NET Часть (Jexus) Окружающая среда
Установите Mono
Ссылка: Как установить mono в ОС Ubuntu
I. Обновление системы:
sudo apt-get update sudo apt-get upgrade
2. Создайте среду компилятора:
sudo apt-get install build-essential sudo apt-get install automake autoconf sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev
3. Установка libgdiplus, mono и других библиотечных файлов, необходимых для компиляции среды
sudo apt-get install libtiff5-dev sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev sudo apt-get install libjpeg-dev
Примечание: Этот шаг отличается от первоначального. Я пересмотрел его в соответствии с подсказкой об ошибке.
4. Загрузка и распаковка исходного файла:
Скачать:
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2 wget http://download.mono-project.com/sources/mono/mono-3.0.12.tar.bz2
Примечание: (2015/10/13) Последнее издание libgdiplus-3.12.tar.gz
、 mono-4.2.1.60.tar.bz2
。 Мой сервер установлен в последней версии, приведенный выше код вставлен вместе с оригинальной справочной статьей.
Распакуйте: (Перейдите на соответствующую версию, которую вы скачали)
tar jvxf libgdiplus-2.10.tar.bz2 tar jvxf mono-3.0.12.tar.bz2 // If you download a new version and use gzip (tar. gz), use the following command to extract it. tar zxvf libgdiplus-3.12.tar.gz
Установка Libgdiplus и Mono:
Установите libgdiplus
cd libgdiplus-3.12 ./configure --prefix=/usr make sudo make install cd ..
Возникшие проблемы: gdiplus-private.h:33:31: фатальная ошибка: freetype/tttables.h: Такого файла или каталога нет
Справочные ресурсы: Сервер Ubuntu (64-разрядная версия Ubuntu 14.04 LTS) установка libgdiplus 2.10.9 запись об ошибке Конкретная операция выглядит следующим образом:
Эта ошибка означает, что создание ссылки/usr/X11/include/freetype не удалось, потому что мы не смогли найти свободный тип, но мы нашли свободный тип 2, поэтому давайте создадим ссылку. (Решение с приведенной выше ссылкой показало, что разрешений было недостаточно, и поэтому добавлено sudo
。)
sudo ln -s /usr/include/freetype2 /usr/include/freetype
Примечание: Ссылки в оригинальной статье /usr/lib64/libglib-2.0.so.0: не удалось прочитать символы: Недопустимая операция
Проблема, потому что я с ней не сталкивался, поэтому пропустите, если вы столкнетесь с этой проблемой, вы можете обратиться к приведенному выше решению по ссылочной ссылке.
Возникшие проблемы: Пакет "каир" не найден
Справочные ресурсы: Загрузка Каира
sudo apt-get install libcairo2-dev
Установите Mono
cd mono-4.2.1.60 ./configure --prefix=/usr make sudo make install cd ..
Установите Nexus
wget http://www.linuxdot.net/down/jexus-5.5.3.tar.gz tar -zxvf jexus-5.5.3.tar.gz cd jexus-5.5.3 sudo ./install
Успешно, на этот раз не было никаких проблем, Иисус установил в это время. Затем вам нужно настроить сайты загрузки и сайты по умолчанию для Иисуса. Эта часть оставлена до конца.
Настройка среды части PHP (Apache 2)
Часть Apache + PHP не знает, сколько раз нужно настраивать, что менее сложно.
Установите Apache 2
sudo apt-get install apache2
Откройте браузер, чтобы ввести тест “адрес сервера” для доступа к странице по умолчанию Apache 2, вы можете увидеть страницу по умолчанию Apache2 Ubuntu , которая означает, что Apache 2 был успешно установлен, а затем будет установлен PHP.~
Установите PHP
sudo apt-get install php5
Другие конфигурации
sudo apt-get install libapache2-mod-php5 // Note: The installation above is for Apache 2 to install PHP5 support. sudo /etc/init.d/apache2 restart
Ошибка:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Справочные ресурсы: Ubuntu 14.04 Перезапуск службы Apache 2 Появляется AH00558… В файле конфигурации/etc/apache2/apache2.conf добавьте:
ServerName localhost
Перезагрузите Apache 2 после внесения изменений
Проверьте, правильно ли работает Apache + PHP
sudo vim /var/www/html/test.php
вход
Посетите: Http://server ip/test.php
Если на дисплее отображается Привет, Rmlegno
, Это означает, что конфигурация выполнена успешно.
Настройка Nginx
Перед настройкой Nginx нам необходимо внести некоторые изменения в Apache 2 и Jesus. По умолчанию все они используют порт 80. Однако нам нужно переслать 80 в Nginx, в Apache 2, если это PHP-сайт, Иисусу, если это ASP. СЕТЕВОЙ сайт. Я считаю, что никто не может использовать PHP и ASP. СЕТЬ в то же время. Если это так, мы можем перенести его. Отправьте его Иисусу и разрешите Jexus FastCGI использовать PHP, который здесь подробно не обсуждается.
Измените порт Apache 2 по умолчанию
sudo vim /etc/apache2/ports.conf
возьмите Listen 80
Измените на Listen 8081
Или другие порты, которые вы считаете подходящими, если они не конфликтуют с другими портами.
Затем измените порт сайта по умолчанию
sudo vim /etc/apache2/sites-available/000-default.conf
Первая строка <Виртуальный хост *:80>
Изменить на <Виртуальный хост *:8081>
Конечно, 8081 здесь не уверен, но это должно соответствовать приведенным выше модификациям. P.S. равносильно бессмыслице. В любом случае, после настройки сайта по умолчанию для удаления, вам следует обратить внимание на порт при настройке нового сайта.
Перезапустите Apache 2, чтобы проверить, можно ли получить доступ к нему с порта 8081 вместо порта 80.
Http://ServerName:80//ServerName is replaced by domain name or server IP, and the test result should be "the connection to the server is reset when loading the page". "(Huo Hu) Http://ServerName:8081///At this point the test results should be Apache 2 default page It works.
Измените порт по умолчанию, используемый Иисусом, и добавьте Иисуса для автоматической загрузки
Иисус, похоже, не использует порты по всему миру. Перейдите непосредственно к конфигурации сайта и измените порт сайта по умолчанию на 8082. Это также может быть порт, с которым вы не чувствуете конфликта. Просто обратите внимание на использование того же порта при последующем добавлении сайта.
sudo vim /usr/jexus/siteconf/default
После открытия есть один очень заметный. порт=80
Выше измените значение на порт=8082
Сохранить и выйти.
Добавьте Иисуса для автоматической загрузки
Причина, по которой мы не добавили загрузку прямо сейчас, заключается в том, что все используют порт 80, поэтому порт будет занят и загрузка не будет. Теперь разделите порты Jesus и Apache 2, а затем добавьте загрузку Jesus.
sudo vim /etc/init.d/rc.local
Добавить в конце документа
/usr/jexus/jws start
Затем выполните перезагрузку sudo
Перезагрузите сервер и посмотрите, правильно ли работает служба.
После перезагрузки запустите:
sudo /usr/jexus/jws status
Если показано, что Иисус бежит, то это удается. Затем перейдите в браузер для тестирования:
Http://ServerName:80//ServerName is replaced by domain name or server IP, and the test result should be "the connection to the server is reset when loading the page". "(Huo Hu) Http://ServerName:8081///At this point the test results should be Apache 2 default page It works. Http://ServerName:8082/// At this point, the test results should be the default page of Jexus or the 404 error reported by Jexus.
Успешно выполнено, и тогда это Nginx!
Установка и настройка Nginx
sudo apt-get install nginx
О конфигурации
После ознакомления с несколькими статьями и руководством по прозрачным облакам в широком небе конфигурация обратного прокси-сервера Nginx, вероятно, выглядит следующим образом: css
|/jpg /js
/png | gif
Статическое содержимое обрабатывается непосредственно Nginx. php
Дождитесь содержимого PHP, обратного прокси-сервера на порт 8081, то есть Apache 2, для обработки Apache 2. aspx
|/cshtml Дождитесь ASP. ЧИСТЫЙ контент, обратный прокси-сервер на порт 8082, то есть Иисус.
P.S. Для тех, кто использует PHP, статический контент передается в Nginx. Все, что не является статичным, заменяется Apache 2 Это означает, что мы все еще можем настраивать псевдостатику и так далее, как мы делали с Apache 2. Аналогично, для сайтов, использующих ASP.NET За исключением статического контента, все это обрабатывается Jexus 。 Лично следует избегать Apache2 и Иисуса. По крайней мере, я чувствую, что сейчас все испорчу. QAQ
Наконец, давайте поговорим об этом.
Таким образом, первая среда Nginx и последняя среда Apache + Jesus готовы. Если вам нужно использовать другие среды, вы можете настроить сервер самостоятельно, настроить его на другие порты, а затем добавить обработку защиты от генерации в nginx. Примечания по конфигурации Nginx (будут добавлены)