如何运行在80端口

如何运行在80端口

问题描述:

当我设置气流Web服务器在端口80上运行Web服务器的气流,不执行服务和失败,以下错误:如何运行在80端口

... 
[2017-08-30 06:26:35,286] {__init__.py:57} INFO - Using executor CeleryExecutor 
[2017-08-30 06:26:35,421] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/Grammar.txt 
[2017-08-30 06:26:35,463] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/PatternGrammar.txt 
[2017-08-30 06:26:35 +0000] [9401] [INFO] Starting gunicorn 19.3.0 
[2017-08-30 06:26:35 +0000] [9401] [ERROR] Retrying in 1 second. 
[2017-08-30 06:26:36 +0000] [9401] [ERROR] Retrying in 1 second. 
[2017-08-30 06:26:37 +0000] [9401] [ERROR] Retrying in 1 second. 
[2017-08-30 06:26:38 +0000] [9401] [ERROR] Retrying in 1 second. 
[2017-08-30 06:26:39 +0000] [9401] [ERROR] Retrying in 1 second. 
[2017-08-30 06:26:40 +0000] [9401] [ERROR] Can't connect to ('0.0.0.0', 80) 
... 

使用在Ubuntu 16.04托管于AWS systemd。

$ grep web_server_port /home/ubuntu/airflow/airflow.cfg 
web_server_port = 80 

服务配置:

$ cat /usr/lib/systemd/system/airflow-webserver.service 
[Unit] 
Description=Airflow webserver daemon 
After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service 
Wants=postgresql.service mysql.service redis.service rabbitmq-server.service 

[Service] 
User=ubuntu 
Group=ubuntu 
Type=simple 
ExecStart=/usr/local/bin/airflow webserver --pid /home/ubuntu/airflow/webserver.pid 
Restart=on-failure 
RestartSec=5s 
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target 

的问题是,80端口可以通过根只能使用,如果在端口运行8080

相关配置的一部分,整个安装工作​​得很好。在/usr/lib/systemd/system/airflow-webserver.service解决问题所需的唯一变化是:

  • 去除UserGroup:root是默认值
  • 设置气流的家居环境变量:因为否则服务寻找气流/root/airflow

新服务配置:

$ cat /usr/lib/systemd/system/airflow-webserver.service 
[Unit] 
Description=Airflow webserver daemon 
After=network.target postgresql.service mysql.service redis.service rabbitmq-server.service 
Wants=postgresql.service mysql.service redis.service rabbitmq-server.service 

[Service] 
Environment=AIRFLOW_HOME=/home/ubuntu/airflow 
Type=simple 
ExecStart=/usr/local/bin/airflow webserver --pid /home/ubuntu/airflow/webserver.pid 
Restart=on-failure 
RestartSec=5s 
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target