Rust   |   簡易デプロイ

ホーム  

概要

Axum や Actix-web で作った Web アプリケーションを、本番サーバーで試す簡単な方法を説明しています。

Rust と SQLite の開発環境のインストール

本番サーバーに Rust と SQLite の開発環境をインストールしてください。


プロジェクトの準備

ip アドレスを 0.0.0.0 ポート番号を 8080 もしくは 3000 で作ったプロジェクトを用意して、 GitHub 経由で、本番サーバーにダウンロードします。

Axum や Actix-web で作られたアプリケーションは、 それ自体がサーバーになりますので、apache などの Web サーバーを稼働させる必要はありません。

プロジェクトを設置する場所はどこでも大丈夫です。


ポートの確認・開放など

次の方法で、ポートの使用状況を確認し、開放します。ポート 3000 の場合は適宜読み替えてください。


# 8080 が使用中の場合、そのポートを開放する
sudo lsof -i :8080
sudo netstat -nlp | grep :8080 // これは実行しなくても大丈夫です。

// ポート 8080 を使っているサービスが表示されます。その PID の欄の数字を利用して、そのサービスを終了します。
sudo kill -9 PID


アプリケーションのビルドと起動

プロジェクトのルートディレクトリに移動して、次のようにしてビルドして起動します。 ポート 3000 の場合は適宜読み替えてください。


// アプリケーションのビルド
cargo build --release

// アプリケーションの起動
nohup ./target/release/アプリケーション名 &

// 起動したメッセージが表示されますが、もう一度エンターキーを押して、終了メッセージが表示されたら
// アプリケーションに問題があります。プロジェクトのコードを見直してください。

// 問題がなければ、ターミナルで他の作業をしても、あるいはターミナルを閉じても、アプリケーションはそのまま起動し続けます。

ブラウザで、IP アドレスもしくはURL:8080 でアプリケーションが表示されます

ブラウザで、IP アドレスもしくはURL:8080 でアプリケーションが表示されます。


アプリケーションの終了

次のようにしてアプリケーションを終了します。ポート 3000 の場合は適宜読み替えてください。


# プロジェクトが、ポート8080をどのような PID で起動しているか調べます。
sudo lsof -i :8080

// ポート 8080 を使っているサービスが表示されます。その PID の欄の数字を利用して、サービスを終了します。
sudo kill -9 PID


プロキシの利用

2025年10月1日 に修正しました。

アドレス:8080 という形ではなく、アドレス/アプリケーション名でアクセスしたくなると思います。 その場合は、apach などの Web サーバーを立ち上げて、プロキシを利用します。 ポート 3000 の場合は適宜読み替えてください。

apache2 サーバーでの例を示します。/etc/apache2/apache2.conf に次のコードを追加してください。 追加する場所はファイルの一番最後で大丈夫です。


<Location "/アプリケーション名">
ProxyPass http://0.0.0.0:8080         // 0.0.0.0 ではなく正規の IP でも当然良い
ProxyPassReverse http://0.0.0.0:8080
</Location>

<Location "/違うアプリケーション名">
ProxyPass http://0.0.0.0:3000
ProxyPassReverse http://0.0.0.0:3000
</Location>

apache2.conf を書き換えた後は、apache2 を再起動します。


sudo service apache2 restart

これで、サーバーのIPアドレス/アプリケーション名もしくはURL/アプリケーション名でアクセスできるようになります。 ただし、プロジェクトの Html ファイルには、CSS の読み込みや、フォームの action で、 http://サーバーのIPアドレス/CSSファイル名や、http://サーバーのIPアドレス/アクション名 に書き換えなければなりません。もし書き換えなければ、CSS が読み込めなかったり、リンクできなかったりします。

なおプロキシはいくつでも書き足すことができます。



1045 visits
Posted: Sep. 29, 2025
Update: Oct. 01, 2025

ホーム   目次