在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インストール.png

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

設定ファイル.png

操作nginx服务

nginx开始运行

可以使用以下命令启动。

sudo systemctl start nginx

要确认当前状态,请使用以下命令。

systemctl status nginx
起動.png

停止nginx

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

sudo systemctl stop nginx
停止.png

确认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】进行查看。(红框链接如下图)

セキュリティグループ.png
インバウンド設定.png
ルールの編集.png
welcome.png

总结

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

广告
将在 10 秒后关闭
bannerAds