前期第05回 - oddmutou/jugyo-2025kyototech GitHub Wiki
html以外のファイルを配信してみましょう
html以外のファイル(js/css/画像など)を設置・作成し配信してみましょう。
画像をサーバーに設置・配信し,ページに埋め込んでみましょう
まず画像設置用のディレクトリをつくりましょう。
mkdir public/images
自分がインターネットに上げている画像ファイルをサーバーにダウンロードするには, wget コマンドを使います。
例として, https://pbs.twimg.com/media/GiB9QYubwAASfep?format=jpg&name=large
というURLで公開されている画像を public/images/ramen.jpg
として保存したい場合
wget -O public/images/ramen.jpg "https://pbs.twimg.com/media/GiB9QYubwAASfep?format=jpg&name=large"
こういったようにサーバー上に保存した画像も,ブラウザで http://EC2インスタンスのアドレス/images/ramen.jpg
とアクセスすることによりブラウザで表示できます。
また,別ページに埋め込むことができます。
vim public/index.html
以下の一行を追記しましょう。
<img src="/images/ramen.jpg">
imgタグのsrc属性に画像パス(サーバー内部のパスではなくブラウザでみるときのパス)を書くと埋め込むことができます。
public/index.html
に追記できたらブラウザで http://EC2インスタンスのIPアドレス/index.html
にアクセスし確認してみましょう。
今回は,私のX(旧twitter)にあげていた写真を雑に ramen.jpg
と名前をつけて保存しましたが,みなさんもご自身の画像を自由に名前を決めてダウンロードし,そしてページにうめこんであげてください。インターネットに公開していない画像をEC2インスタンス内に移動させたい場合は,パソコン(sshの接続元)からscp
コマンドを叩いて送信してみましょう。
※決して自分の著作物ではないファイルをダウンロード&配信しないこと。
(参考) scpコマンドの使い方
ローカルの ~/Download/hoge.png
というファイルを、EC2インスタンスの ~/
直下にコピーしたい場合
scp -i SSH用の鍵のパス ~/Downloads/hoge.png ec2-user@EC2インスタンスのIPアドレス:~/
js/cssを書いていろいろやってみましょう
画像と同じように,自由にcssやjsも別ファイルで作って配信し,htmlファイルにて呼び出すことが出来ます。
まずそれぞれ用のディレクトリをつくりましょう。
mkdir public/js
mkdir public/css
あとはjsファイルつくってみるときは
vim public/js/新しく作るjsファイル名
cssファイルつくってみるときは
vim public/css/新しく作るcssファイル名
みたいなかんじでできます。
JSやCSSのファイルを作ってHTMLから読み込んでみましょう。
JSの読み込みはscript要素でできます。 例: https://developer.mozilla.org/ja/docs/Web/HTML/Element/script#examples
CSSの読み込みはlink要素でできます。 例: https://developer.mozilla.org/ja/docs/Web/HTML/Element/link#examples
htmlにおける外部JS/CSSファイル時にパスを指定する際に,これも画像ファイルと同じように,サーバー内部のパスではなく,ウェブブラウザでアクセスするURLのパスを指定する必要があることに気をつけましょう。
もしhtmlに埋め込もうとしたのに埋め込めないってときは,ブラウザでそのURL(またはパス)が正しいのかしっかり確かめましょう。
演習
自己紹介ページを作ってみましょう。
自分で撮った写真または自分で描いたイラスト画像を、2枚以上含めたページにしてください。また、CSSでみやすく装飾してください。
サンプル: http://54.242.236.2/profile.html
演習 スマホ対応について
EC2を使って授業で作っているページは全世界に向けて公開されています。そのため,皆さんのお手元のスマホからも見ることができます。確認してみましょう。
PCのブラウザの開発者向けツールでスマホの表示を確認することができます。そちらも使ってみましょう。
スマホの表示に対応するには,まずビューポートを設定してあげましょう。
https://developer.mozilla.org/ja/docs/Web/CSS/Viewport_concepts
CSSにおいて,デバイスの横幅によってスタイルの内容をしたい場合はメディアクエリを使いましょう。
https://developer.mozilla.org/ja/docs/Web/CSS/Media_Queries/Using_media_queries