Все,
Я пытался установить причал на порту 80, но его выдача исключение говорит, что разрешение отклонено, как показано ниже. Я настроил jetty для работы с setuid и настроил start.ini следующим образом:
OPTIONS=Server,jsp,jmx,resources,websocket,ext,plus,annotations,jta,jdbc,setuid
(ниже в качестве первого файла конфигурации в start.ini)
etc/jetty-setuid.xml
и jetty-setuid. XML-файл с именем пользователя и именем группы пользователя без полномочий root.
2012-07-03 15:29:02.411:INFO:oejdp.ScanningAppProvider:Deployment monitor /opt/jetty-hightide-8.1.3.v20120416/contexts at interval 1
2012-07-03 15:29:02.454:WARN:oejuc.AbstractLifeCycle:FAILED SelectChannelConnector@0.0.0.0:80: java.net.SocketException: Permission denied
java.net.SocketException: Permission denied
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:182)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:311)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:260)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.server.Server.doStart(Server.java:273)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1215)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
2012-07-03 15:29:02.455:WARN:oejuc.AbstractLifeCycle:FAILED org.eclipse.jetty.server.Server@66da9ea4: java.net.SocketException: Permission denied
java.net.SocketException: Permission denied
Порты ниже 1024 могут быть связаны только суперпользователем. Вы можете запустить Jetty как суперпользователь (root) или настроить его для использования порта выше 1024 (скажем, 8080, это обычно делается для серверов приложений на основе Java). Если вы хотите, чтобы это было доступно через порт 80 любой ценой, вы можете настроить сервер Apache для пересылки (или «обратного прокси») запросов в Jetty. Это четко задокументировано здесь:
http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy
Оставьте Apache для людей Tomcat, перейдите на Nginx и эти простые строки
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/example.log;
location / {
proxy_pass http://127.0.0.1:5000;
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;
}
}