こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
私はPHPエンジニアとして8年~の経験があります。
先日、CentOS7の開発環境にNuxt3の開発環境を構築する作業をしました。
そのときにやった作業内容を残します。
前提
- CentOS7
- Apache
- node / npmは入っている(古い)
- ソースは指定の物で、Nuxtjsをイチから入れるわけではない
ゴールは「CentOS7の開発環境へWindows機で外部アクセスが可能になるようにすること」。
node npmのバージョンあげ
元のソースを持ってきてcomposer updateやnpm installをやったところまではよかったのだけれど、Nuxtjsを実行するためのnpm run devができなかった。
原因はnode と npmのバージョンが古かったから。
node -v
v12.22.12
npm -v
6.14.16
自分のローカルマシンで動かしている人の情報によると、node 16以上だった。なので一致させるために16を入れる。
sudo yum install https://rpm.nodesource.com/pub_16.x/el/7/x86_64/nodejs-16.17.0-1nodesource.x86_64.rpm
そして上がったバージョンはこちら。
node -v
v16.17.0
npm -v
8.15.0
以前のリポジトリ指定のやり方ではうまくいかない
調べると良く出てくるこのやり方
sudo curl -sL https://rpm.nodesource.com/setup_14.x | bash -
curlで取ろうとするとすごい警告が出てくる。赤警告。
「これもう使うのやめるから別の方法でやってよね、Gitから取ってきて云々してよね」っていってるだけなのですが、なんとも恐ろしい印象を与えてくる…。
色々探して取ってきたのはこちらのNodesourve Node.js RPMからyum installする方法。こちらもGitHubから取るのを推奨するよ、と書いてある。
ただ、最新バージョン以外をGitHubから取る方法がちょっとよくわからなかった。そのためNode.js RPMでバージョン指定で取った。
CentOS7はnode v18未対応
CentOS7はnodeは18対応できないらしい。
- nodeのv18を使ったらエラーになった(CentOS7) – ITのプロへ
- Node.js v12 -> v16にyumでアップデートしてみた。(CentOS 7) #Node.js – Qiita
そもそもCentOS7自体がもう古いし、どこかで開発環境の更新か、イチから作り直す日が来るかもしれない…
npm run devの起動
nodeとnpmのバージョンをあげてあげたら起動できるはず。
npm run dev
をやってみて動作できたらOK。何か足りなくて入れないとならない、などがあったらその辺りを入れて動くようにする。
内部アクセス(localhost)の確認
CentOS7からアクセスしてみる。コンソールで
curl http://localhost:3000
を実行するとコンソール上にずらっとソースが出てくるはず。
npm run devをやったらIPアドレス上でアクセスできるよ!って言っているから外のWindowsマシンからUPアクセス(xxx.xxx.xxx.xxx:3000)アクセスしてもおそらくできない。
外部アクセス(IP)はhost=0に指定して実行する
HOST=0 PORT=3000 npm run dev
PORT 3000で変更しない場合は省略可能。
設定ファイルに書く方法もあるようだけど、開発中に何かと変わりそうなので開発機で実行するときに指定すればいいや、ということで。
3000ポートを開く
たぶん上のコードでnpm run devしただけだとまだアクセスできないと思う。
3000ポート、普通は開いてませんよね?開けてあげるか、実行するときに別の開いているポートを指定する。
調べてみる。
firewall-cmd --list-all
これでいなければ、開けポート
firewall-cmd --add-port 3000/tcp
ずっと使うなら開きっぱなしで
firewall-cmd --add-port 3000/tcp --permanent
systemctl reload firewalld.service
これでアクセスできるようになる。
参考
- Nodesourve Node.js RPM
- [メモ] CENTOS7でNODEJS(VER16)がインストールできないとき
- Nuxt.jsが便利すぎた件 | Amiiby.com
- Nuxt.js の起動時に外部アクセス可能なIPを指定する | mintsu’s blog
- Nuxt 2 – 設定 #ホストとポート番号を編集する
- nodeのv18を使ったらエラーになった(CentOS7) – ITのプロへ
- Node.js v12 -> v16にyumでアップデートしてみた。(CentOS 7) #Node.js – Qiita
フリーランスの案件探しはエミリーエンジニア※広告
毎日仕事をしながらも次の案件を気にしなければならない…フリーランスの宿命です。
そんな大変な案件探しは【エミリーエンジニア】のエージェントに助けてもらってはいかがでしょうか。
▼ 登録はここから ▼
- 月額60~80万円の高額案件中心
- 15年以上の信頼と実績があるから、プライム案件を受注できる
- フルリモート案件が90%以上
専属のキャリアアドバイザリーコンサルタントに色々と相談もできますよ。
エンジニアの転職はキャリアネクスト※広告
今の職場で頑張っても収入アップは見込めない…
エンジニア転職の【キャリアネクスト】で転職で収入アップを目指してみてはいかがでしょう?
▼ 登録はここから ▼
- エンジニアのキャリア支援を始めて10年以上!
- 大手からベンチャー、スタートアップまで幅広い
- 理想のキャリアプランから最適と考える企業様だけをご紹介
- 応募書類の添削や企業との連絡代行などのフォローあり
- 不安なことは専任のアドバイザーにすぐ相談