Опубликовано 20 января 2024 г. 13:43 by Xadmin просмотров: 200
Bash скрипт который поможет настроить Nginx на Ubuntu Server
#!/bin/bash
# Запрос на ввод данных
read -p "Введите название сайта (например, mysite.ru): " site_name
read -p "Введите рабочую директорию (например, /home/www/): " working_dir
read -p "Введите имя пользователя (например, www): " user
read -p "Введите группу пользователя (например, www): " group
read -p "Введите название проекта (например, myproject): " project_name
# Обновляем систему
sudo apt update && sudo apt upgrade -y
# Создаем конфигурационный файл Nginx
echo "server {
listen 80;
server_name $site_name;
access_log /var/log/nginx/access.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
}
}" | sudo tee /etc/nginx/sites-available/$site_name
# Включаем конфигурацию
sudo ln -s /etc/nginx/sites-available/$site_name /etc/nginx/sites-enabled
sudo systemctl restart nginx
# Устанавливаем Certbot
sudo apt-get install certbot python3-certbot-nginx -y
# Получаем SSL сертификат
sudo certbot --nginx -d $site_name --non-interactive --agree-tos --email your_email@example.com
# Настраиваем Gunicorn
echo "[Unit]
Description=Gunicorn daemon for $project_name project
After=network.target
[Service]
ExecStart=/usr/bin/gunicorn --access-logfile /var/log/gunicorn/access.log --error-logfile /var/log/gunicorn/error.log --workers 3 --bind unix:$working_dir$project_name.sock $working_dir/manage:app
WorkingDirectory=$working_dir
User=$user
Group=$group
Restart=always
[Install]
WantedBy=multi-user.target" | sudo tee /etc/systemd/system/gunicorn.service
# Включаем и запускаем службу Gunicorn
sudo systemctl enable gunicorn
sudo systemctl start gunicorn
Прикрепленные файлы:
Share this post