在AWS上使用JupyterHub (nginx)
简要介绍
请参考在AWS上的JupyterHub的全体概要。
在这里,我们准备了nginx作为web服务器,并进行了一些设置以便在之后设置Jupyterhub的反向代理之前进行。端口控制由EC2安全组处理。所有的操作都将由ec2-user用户完成。(虽然我认为最好分开做,但今天不是目标所以省略了)
菜单
-
- nginxのインストール
-
- nginxの設定
- ポート開放
安装nginx。
首先,确认是否未安装。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ systemctl status nginx
Unit nginx.service could not be found.
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$
在安装 EC2 上的 nginx 时,如果使用 yum install nginx 命令会失败,因此请使用以下命令进行安装。
sudo amazon-linux-extras install nginx1.12
命令执行后,安装开始,如果输出如下图所示的Complete!,则表示安装完成。

配置文件如nginx.conf和conf.d目录位于/etc/nginx/下。
只需对JupyterHub进行简单的反向代理配置,所以只需要修改nginx.conf文件和conf.d目录。

操作nginx服务
nginx开始运行
可以使用以下命令启动。
sudo systemctl start nginx
要确认当前状态,请使用以下命令。
systemctl status nginx

停止nginx
为了停止,请使用以下命令,与启动时一样。
sudo systemctl stop nginx

确认nginx
在Nginx已经启动的情况下,执行以下命令。
curl http://localhost/
执行后,我认为会在终端上输出HTML。
如果在中途能够确认类似于”
Welcome to nginx on Amazon Linux!
“的内容,那么就表示nginx本身已经安装好了。
在EC2中,我们通过查看公共DNS并使用浏览器访问http://ec2-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com/来尝试访问。
过一段时间后,您可能会看到“无法显示”的提示。
当然,这是因为我们的安全组没有允许使用HTTP协议的80端口。
因此,我们需要打开80端口。
修改安全组
在上一次设置EC2实例时,我们将更改与实例关联的安全组。
从以下EC2实例详细信息中选择【Security Groups> Inbound Rules】进行查看。(红框链接如下图)




总结
这次安装了使用nginx的web服务器,并启动了它,通过安全组开放了80号端口以供HTTP协议使用。
暂时以nginx到此为止,待jupyterHub设置完成后,将进行连接nginx和jupyterHub的操作。
因此,下次将着手准备python相关工作。