Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8576

GO言語を使って自分のPCでWEBサーバー構築

$
0
0

モジュールについて学習している中、ここに来てプログラミング入門者である私に初めての課題が課せられました。自分のパソコンを使いWEBサーバーを立ててみて下さいというものでした。今まで動画や参考書に頼りっぱなしで、自分の力でなんとかするとなると、まず何からしていいのかさっぱりでした。まず、自分のパソコンをサーバーにするで検索をかけましたが知見が足りなすぎて、いろんなところを行ったり来たり。ヒントを頂き、Qiitaでなんとかそれらしき記事を発見! 早速作業にとりかかりました。GOには標準でHTTPパッケージが用意されているようで、自分のIPアドレスを使用し、ローカル環境で静的コンテンツを作ることができます。

mkdir HELLO
cd HELLO

では、ディレクトリ(コンピュータのファイルシステムにおいて、ファイルをグループ化するための特殊なファイルで、整理・管理する場所)をターミナル画面で作成していきます。

touch main.go
mkdir -p start/stylesheets
touch start/index.html start/stylesheets/style.css

エクスプローラー(ホームディレクトリ)に「HELLO」ディレクトリ(フォルダ)を作成し、その中にメインコードになる「main.go」とコンテンツ(結びつく内容)に当たる「start」ディレクトリ、その中には基本レイアウトであるHTML「index.html」と装飾であるCSS「stylesheets」ディレクトリ内の「style.css」をそれぞれ作成します。

では、main.goから順にコーディングして行きましょう

hellom.png

main.go
packagemainimport("log""net/http")funcmain(){fs:=http.FileServer(http.Dir("start"))http.Handle("/",fs)log.Println("Listening...")http.ListenAndServe(":3030",nil)}

変数fsにディレクトリを指定し、IPアドレスを利用するルーティング設定をする("/"というアクセスがきたら「start」ディレクトリのコンテンツを表示)http.Handle は表示する「URL」と「URL」に対応する http.Handler を DefaultServeMux に登録する関数になります。Liten関数を使い3030通信用ポートを確保し、サーバーを立ち上げさせます。「start」ディレクトリは以下内容です。
helloi.png

index.html
<!DOCTYPE html><htmllang="ja"><head><metacharset="UTF-8"><linkrel="stylesheet"href="/stylesheets/style.css"></head><body><h1>はじめまして!!!!!!</h1></body></html>

外部リソースを指定する際に使用する「link」でモジュール(ここで言うと、main.go,index.html,style.css)の結びつけます。
hellos.png

style.css
body{color:#5f2bc0}

main.goを動かしてサーバーを立ち上げてみましょう!

go run main.go

ターミナルでrunコマンドを叩き、enterキーで実行してみると。ブラウザ上でhttp://192.xxx.xxx.xx(IPアドレスなど、ローカルホスト):3030/にアクセスすると↓
はじめまして.png
「はじめまして!!!!!!」と表示されました。サーバー上では常に動き続けているので、消したい場合はターミナル上でgo runのコマンドをCtrl(コントロール)+Cでinterrupt(中断)すれば、止まります。


Viewing all articles
Browse latest Browse all 8576

Trending Articles