メモブログ

技術的なことを書き連ねるブログ

macで簡易ローカルサーバーを立てる

とりあえず、なにも準備しないで簡易的にローカルサーバーを立てる時、

macOSにはデフォルトで Pythonphpが入っています。

python --version
Python 2.7.10
php -v
PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

pythonサーバーを立てたい

ディレクトリまで移動して (どこに作成するかは自由です)

cd /Users/ユーザー名/Desktop/testDir(自分で設定した)
python -m SimpleHTTPServer 7777

// サーバーが立ち上がる
Serving HTTP on 0.0.0.0 port 7777 ...

で以下のURLでアクセス出来ます。
ポートは他で使用しているもので無ければ自由に設定出来ます。
http://localhost:7777
終了はCtrl-cです。

phpサーバーを立てたい

cd /Users/ユーザー名/Desktop/testDir(自分で設定した)
php -S localhost:9999
PHP 7.1.19 Development Server started at Sun Oct 28 11:22:13 2018
Listening on http://localhost:9999

で立ち上がります。このサーバーだとphpも動くので簡易的な開発やチェックには便利ですね。
こちらもポートは自由に設定出来ます。 終了はCtrl-cです。
ドキュメントにも書いてありますが使用出来るのは、PHP 5.4.0からで、 あくまでも開発での使用目的でのみ使用してくださいとのこと。

■参考記事
手っ取り早く Mac でローカルサーバーを立てる方法 - tacamy--log
PHP: ビルトインウェブサーバー - Manual

nodeのバージョン管理をnodebrewからndenvに変更した

nodeのバージョン管理にnodebrew

https://github.com/hokaccha/nodebrew

を使っていた。
とても便利だったのだがプロジェクトごとにnodeのバージョンを変えるのが

いちいち手動で面倒だった。
そして、「あれ、このプロジェクト nodeのバージョンなんだっけ??」

となることもしばしばあったので
プロジェクトごとで自動でバージョンを切り替えてくれるndenvに切り替えることにした。

インストール方法はこちらを参照
ndenv を使用して複数のバージョンの Node.js を管理する方法と基本的な使い方 - Qiita


■ nodeのインストール

ndenv install v6.10.0

で、
以下にインストールされる。
/Users/hogehoge/.ndenv/versions


プロジェクトディレクトリに移動して、

ndenv local v6.10.0

と打つと、
.node-version というファイルが出来る
中身は「v6.10.0」とバージョンだけ書いてある。

次回以降は、そのディレクトリに移動すると
自動でnodeのバージョンが切り替わる。

$ node -v
v6.10.0

ただし、これはあくまで「.node-version」ファイルがある環境での話なので
それがない場合は、nodeのコマンドを打ってもエラーが起きてしまう。

なので、globalの環境では、どのバージョンを使うかをセットしてあげましょう。

$ ndenv global v8.11.1

これで、ndenv local していない環境では このバージョンがデフォルトになります。

$ ndenv global
v8.11.1

今までにインストールしたnodeのバージョンを確認したいときは、以下。

bash-3.2$ ndenv versions
  v10.0.0
  v6.10.0
  v6.10.1
* v8.11.1 (set by /Users/hogehoge/.ndenv/version)

特定のバージョンをアンインストールするときは

$ ndenv uninstall v6.10.1

.bash_profile と .bashrc の違い

.bashrcしか使っていなかったのと
毎回違いを調べて忘れるのでメモ。

ここのリンクに詳しく載っていました、ありがたい。

.bash_profile と .bashrc は何が違うの?使い分けを覚える - Corredor


bash_profile
・bashrcより先に実行される
・ログイン時に1回だけ実行される
環境変数を書く(export コマンドで宣言する変数)(環境変数はプロセス間で共有されるので、シェルを起動するたびに何度も呼ぶ必要がない)


■bashrc
bash_profileより後に実行される、というかbash_profileから読み込まれる
・シェルを起動するたびに実行される
環境変数ではない変数、エイリアス、独自のシェル関数を書く