Используем CentOS 5.5 как сервер, Nginx как фронтенд-reverse-proxy, пересылающий запросы в jetty. Настройка с самого нуля.
1. Ставим CentOS 5.5 как сервер. Без ГУИ. Не забыли yum update.
2. Открываем в SELinux http(s):
[user@localhost ~]# system-config-securitylevel-tui
там Security Level: Enabled, лезем в Customize и открываем порты WWW, Secure WWW.
3. Устанавливаем и настраиваем nginx:
a) Добавляем репозиторий Yum CentALT:
[user@localhost ~]# cat > /etc/yum.repo.d/centalt.repo
[CentALT]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=1
gpgcheck=0
b) [user@localhost ~]# yum install nginx
c) Проверили что nginx работает
[user@localhost ~]# services nginx start
[user@localhost ~]# telnet localhost 80
d) Добавили nginx в автозагрузку:
[user@localhost ~]# chkconfig --levels 235 nginx on
4. Устанавливаем Oracle Java 1.6:
a) Скачали java
[user@localhost ~]# wget ссылка_на_нужную_версию_jdk_или_jre_RPM!_c_http://www.oracle.com/technetwork/java/javase/downloads/index.html
b) Установили [user@localhost ~]# sh jdk-6u24-linux-*-rpm.bin
c) Если ранее был openjdk, альтернативим
[user@localhost ~]# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_24/jre/bin/java 100
[user@localhost ~]# alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_24/jre/bin/javac 100
[user@localhost ~]# alternatives --config java
[user@localhost ~]# alternatives --config javac
5. Устанавливаем Jetty 7:
a) Скачали jetty
[user@localhost ~]# wget http://download.eclipse.org/jetty/stable-7/dist/jetty-distribution-7.3.0.v20110203.tar.gz
b) Распаковали в /opt (по умолчанию все должно быть в /opt/jetty)
[user@localhost ~]# tar -xvzf jetty-distribution-7.3.0.v20110203.tar.gz -C /opt
c) Переименовали папку opt/jetty-distribution-7.3.0.v20110203 в opt/jetty
[user@localhost ~]# mv /opt/jetty-distribution-7.3.0.v20110203/ /opt/jetty
d) Скопировали в /etc/init.d скрипт jetty.sh
[user@localhost ~]# cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty
e) Запустили сервис
[user@localhost ~]# service jetty start
f) Проверили что все работает
telnet localhost 8080
g) Добавили jetty в автозагрузку:
[user@localhost ~]# chkconfig --levels 235 jetty on
6. Настраиваем nginx как прокси для jetty
a) Редактируем конфиг ngnix
[user@localhost ~]# vi /etc/nginx/nginx.conf
Делаем чтобы выглядело так
server {
listen 80;
server_name mydomain.com www.mydomain.com;
access_log /var/log/nginx_67_log main;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
b) Перезапускаем nginx, проверяем
service nginx restart
telnet localhost 80
7. Настраиваем правильное использование X-Forwarded-For в Jetty
a) [user@localhost ~]# vi /opt/jetty/etc/jetty.conf
b) В секцию addConnector добавили forwarded
<call name="addConnector">
<arg>
<new class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<set name="host"><property name="jetty.host" /></Set>
<set name="port"><property name="jetty.port" default="8080"/></Set>
<set name="maxIdleTime">300000</Set>
<set name="Acceptors">2</Set>
<set name="statsOn">false</Set>
<set name="confidentialPort">8443</Set>
<set name="lowResourcesConnections">20000</Set>
<set name="lowResourcesMaxIdleTime">5000</Set>
<!-- добавили forwarded! -->
<set name="forwarded">true</Set>
</New>
</Arg>
</Call>
c) Рестартанули jetty
[user@localhost ~]# service jetty restart
Материалы:
http://vexell.ru/2011/01/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-nginx-%D0%BD%D0%B0-centos-5/
http://easylinux.ru/node/289
http://stackoverflow.com/questions/266931/how-to-configure-nginx-to-work-with-jetty6-webserver
понедельник, февраля 14, 2011
Подписаться на:
Сообщения (Atom)
Мой список блогов
-
-
Notes on LLMapгод назад
-
Строительноегод назад
-
Будем честными ...год назад
-
Highscalability is Up For Sale2 года назад
-
-
-
-
-
Go Composition vs Inheritance6 лет назад
-
Welcome, Prashanth!6 лет назад
-
Top Developer Collaboration Tools6 лет назад
-
Транспортный микс7 лет назад
-
-
Исповедь скрам тестера7 лет назад
-
-
Running JRuby on the Graal JIT7 лет назад
-
-
-
Скрепкус гигантус8 лет назад
-
Мои твиты8 лет назад
-
-
-
6990 рублей9 лет назад
-
-
Смирение и американские боеголовки9 лет назад
-
-
-
-
-
-
Measuring Activity Startup Time10 лет назад
-
-
-
-
-
Рассказ жителя Мариуполя из первых рук12 лет назад
-
-
Grails - Convention over Configuration12 лет назад
-
$ (dollar) prefix for angularJS12 лет назад
-
-
-
-
Блог закрыт!12 лет назад
-
-
Websphere portal. Create pages programmatically13 лет назад
-
-
-
Tweetbot для Mac13 лет назад
-
Scala-IO Core: Unmanaged Resources13 лет назад
-
Использование шрифтов в JasperReports13 лет назад
-
Аудит менеджмента качества13 лет назад
-
-
Windows 8 Camp14 лет назад
-
-
-
Переезд14 лет назад
-
CSP15 лет назад
-
-
Графоманам15 лет назад
-
ListView Multiple Selection 215 лет назад
-
-
-
UnitOfWork & IdentityMap17 лет назад
-
-
-
-
-
-
-
-
-