В этой статье блога мы углубимся в различные методы создания веб-сервера Rust Rocket, работающего на порту 80. Мы предоставим примеры кода для каждого метода, что позволит вам следовать инструкциям и экспериментировать с созданием собственного веб-сервера с использованием популярный фреймворк Rust Rocket.
Метод 1: базовый сервер Rocket
Для начала давайте создадим базовый сервер Rocket, который прослушивает порт 80.
use rocket::Rocket;
#[rocket::main]
async fn main() {
Rocket::ignite().launch().await.unwrap();
}
Метод 2: настройка порта 80
По умолчанию Rocket прослушивает порт 8000. Чтобы изменить его на порт 80, вы можете использовать модуль config
.
use rocket::config::{Config, Environment};
use rocket::Rocket;
#[rocket::main]
async fn main() {
let config = Config::build(Environment::Production)
.address("0.0.0.0")
.port(80)
.finalize()
.unwrap();
Rocket::custom(config).launch().await.unwrap();
}
Метод 3: использование файла конфигурации Rocket.toml
Другой способ настроить Rocket на использование порта 80 — предоставить конфигурацию в файле Rocket.toml
.
Создайте файл Rocket.toml
со следующим содержимым:
[global]
address = "0.0.0.0"
port = 80
Измените файл main.rs
, как показано ниже:
use rocket::Rocket;
#[rocket::main]
async fn main() {
Rocket::ignite().launch().await.unwrap();
}
Метод 4: запуск через обратный прокси
Для работы сервера Rocket на порту 80 могут потребоваться повышенные привилегии. Распространенный подход – запуск Rocket через обратный прокси-сервер, например NGINX или Apache, который обрабатывает HTTP-трафик.
Вот пример конфигурации NGINX:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:8000;
}
}
Обязательно измените имя сервера и URL-адрес прокси-сервера в соответствии с вашими настройками.
В этой статье мы рассмотрели различные методы создания веб-сервера Rust Rocket на порту 80. Мы рассмотрели базовую настройку сервера, прямую настройку порта 80, использование файла конфигурации Rocket.toml
и запуск через обратный прокси. Следуя предоставленным примерам кода, вы сможете начать создавать собственный веб-сервер с помощью Rust и Rocket.