Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac551141cb | ||
|
|
e1b9669d1a | ||
|
|
cb9d26e82c | ||
|
|
693bfbe6f9 |
2 changed files with 16 additions and 92 deletions
|
|
@ -35,7 +35,7 @@ SERVICE="app.service"
|
|||
|
||||
# Descrição do serviço no Systemctl
|
||||
# Systemctl service description
|
||||
DESCRIPTION="Django VPS uWSGI Emperor"
|
||||
DESCRIPTION="Django VPS"
|
||||
|
||||
# Adicionar o certificado digital na aplicação com Certbot. Escreva sim, se já possuir um domínio na internet
|
||||
# Apply certbot ssl certificate, hit yes if you already have a domain
|
||||
|
|
|
|||
106
run.sh
106
run.sh
|
|
@ -47,7 +47,7 @@ SERVICE="app.service"
|
|||
|
||||
# Descrição do serviço no Systemctl
|
||||
# Systemctl service description
|
||||
DESCRIPTION="Django VPS uWSGI Emperor"
|
||||
DESCRIPTION="Django VPS"
|
||||
|
||||
# Adicionar o certificado digital na aplicação com Certbot. Escreva sim, se já possuir um domínio na internet
|
||||
# Apply certbot ssl certificate, hit yes if you already have a domain
|
||||
|
|
@ -290,7 +290,7 @@ update_debug() {
|
|||
# Install required packages
|
||||
install_packages() {
|
||||
dnf config-manager --set-enabled crb
|
||||
dnf update &&
|
||||
dnf update -y &&
|
||||
yum -y install vim &&
|
||||
yum -y install epel-release &&
|
||||
yum -y install bind-utils &&
|
||||
|
|
@ -319,7 +319,6 @@ create_venv() {
|
|||
# Install project dependencies
|
||||
install_dependencies() {
|
||||
/home/$USERNAME/$APP/$VENV/bin/pip3 install --upgrade pip &&
|
||||
/home/$USERNAME/$APP/$VENV/bin/pip3 install uwsgi &&
|
||||
/home/$USERNAME/$APP/$VENV/bin/pip3 install -r /home/$USERNAME/$APP/requirements.txt
|
||||
if [[ $? -ge 1 ]]; then
|
||||
update_step_error "$x"
|
||||
|
|
@ -365,57 +364,22 @@ enable_ports() {
|
|||
fi
|
||||
}
|
||||
|
||||
# Corrigir a configuração inicial do nginx
|
||||
# Manage default nginx config file
|
||||
manage_default_nginx_file() {
|
||||
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf~ &&
|
||||
cat > /etc/nginx/nginx.conf <<EOF
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
|
||||
include /usr/share/nginx/modules/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
# Criar o arquivo de configurações do NGINX
|
||||
# Create nginx config file
|
||||
create_nginx_file() {
|
||||
cat > /etc/nginx/conf.d/$APP.conf <<EOF
|
||||
upstream django {
|
||||
server unix:///home/$USERNAME/$APP/mysite.sock;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name $PUB_IP;
|
||||
charset utf-8;
|
||||
client_max_body_size 75M;
|
||||
server_tokens off;
|
||||
|
||||
access_log /var/log/nginx/$APP.access.log;
|
||||
error_log /var/log/nginx/$APP.error.log;
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off;}
|
||||
location /media {
|
||||
alias /home/$USERNAME/$APP/media;
|
||||
}
|
||||
|
|
@ -423,8 +387,7 @@ server {
|
|||
alias /home/$USERNAME/$APP/static;
|
||||
}
|
||||
location / {
|
||||
uwsgi_pass django;
|
||||
include /etc/nginx/uwsgi_params;
|
||||
proxy_pass http://unix:/home/$USERNAME/$APP/$APP.sock;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
|
@ -433,37 +396,6 @@ if [[ $? -ge 1 ]]; then
|
|||
fi
|
||||
}
|
||||
|
||||
# Criar o arquivo de inicialização do uWSGI
|
||||
# Create uwsgi ini file
|
||||
create_uwsgi_ini_file() {
|
||||
cat > /home/$USERNAME/$APP/uwsgi.ini <<EOF
|
||||
[uwsgi]
|
||||
chdir = /home/$USERNAME/$APP
|
||||
module = $WSGI_FOLDER_NAME.wsgi
|
||||
pythonpath = /home/$USERNAME/$APP/$VENV
|
||||
master = true
|
||||
processes = 10
|
||||
socket = /home/$USERNAME/$APP/mysite.sock
|
||||
vacuum = true
|
||||
chmod-socket = 666
|
||||
EOF
|
||||
if [[ $? -ge 1 ]]; then
|
||||
update_step_error "$x"
|
||||
fi
|
||||
}
|
||||
|
||||
# Criar o modo Emperor do uWSGI
|
||||
# Create uWSGI Emperor mode
|
||||
criar_emperor_uwsgi() {
|
||||
mkdir -p /etc/uwsgi/vassals &&
|
||||
if [[ ! -f /etc/uwsgi/vassals/uwsgi.ini ]]; then
|
||||
ln -s /home/$USERNAME/$APP/uwsgi.ini /etc/uwsgi/vassals
|
||||
fi
|
||||
if [[ $? -ge 1 ]]; then
|
||||
update_step_error "$x"
|
||||
fi
|
||||
}
|
||||
|
||||
# Cria um serviço no systemctl
|
||||
# Create a systemctl service
|
||||
create_service_file() {
|
||||
|
|
@ -471,17 +403,12 @@ create_service_file() {
|
|||
======
|
||||
[Unit]
|
||||
Description=$DESCRIPTION
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/$SERVICE.sh
|
||||
RuntimeDirectory=uwsgi
|
||||
Restart=always
|
||||
KillSignal=SIGQUIT
|
||||
Type=notify
|
||||
StandardError=syslog
|
||||
NotifyAccess=all
|
||||
User=$USERNAME
|
||||
WorkingDirectory=/home/$USERNAME/$APP
|
||||
ExecStart=/usr/local/bin/$SERVICE.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
|
@ -494,10 +421,10 @@ fi
|
|||
|
||||
# Criar o script que executa o modo Emperor do uWSGI
|
||||
# Create the script called by systemctl service
|
||||
create_script_emperor() {
|
||||
create_script_executor() {
|
||||
cat > /usr/local/bin/$SERVICE.sh <<EOF
|
||||
#!/bin/bash
|
||||
/home/$USERNAME/$APP/$VENV/bin/uwsgi --emperor /etc/uwsgi/vassals --uid centos --gid centos
|
||||
/home/$USERNAME/$APP/$VENV/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/$USERNAME/$APP/$APP.sock $WSGI_FOLDER_NAME.wsgi:application
|
||||
EOF
|
||||
chmod +x /usr/local/bin/$SERVICE.sh
|
||||
if [[ $? -ge 1 ]]; then
|
||||
|
|
@ -554,12 +481,9 @@ declare -a commands=(
|
|||
"execute_collec_mig_createsup"
|
||||
"install_firewall"
|
||||
"enable_ports"
|
||||
"manage_default_nginx_file"
|
||||
"create_nginx_file"
|
||||
"create_uwsgi_ini_file"
|
||||
"criar_emperor_uwsgi"
|
||||
"create_service_file"
|
||||
"create_script_emperor"
|
||||
"create_script_executor"
|
||||
"run_service"
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue