-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeployNginxWebsite.sh
More file actions
executable file
·73 lines (59 loc) · 2.08 KB
/
Copy pathdeployNginxWebsite.sh
File metadata and controls
executable file
·73 lines (59 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
# Проверка, что передана папка с сайтом
if [ -z "$1" ]; then
echo "Использование: $0 <папка_с_сайтом> [-ip]"
exit 1
fi
# Переменные
SITE_DIR=$1
SITE_NAME=$(basename "$SITE_DIR")
NGINX_CONF_DIR="/etc/nginx/sites-available"
NGINX_CONF_LINK_DIR="/etc/nginx/sites-enabled"
WEB_ROOT="/var/www/$SITE_NAME"
# Проверка, существует ли папка с сайтом
if [ ! -d "$SITE_DIR" ]; then
echo "Папки $SITE_DIR не существует."
exit 1
fi
SITE_ADDRESS=$SITE_NAME
if [[ "$2" == "-ip" ]]; then
IP_ADDRESS=$(hostname -I | awk '{print $1}')
SITE_ADDRESS=$IP_ADDRESS
fi
# Перемещение папки с сайтом в /var/www
echo "Перемещение папки с сайтом в /var/www..."
sudo mv "$SITE_DIR" "$WEB_ROOT"
# Создание Nginx конфига
echo "Создание Nginx конфига..."
sudo bash -c "cat > $NGINX_CONF_DIR/$SITE_NAME <<EOF
server {
listen 80;
server_name $SITE_ADDRESS;
root $WEB_ROOT;
index index.html index.htm index.php;
location / {
try_files \\\$uri \\\$uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
EOF"
# Создание символической ссылки на конфиг в sites-enabled
echo "Создание символической ссылки на конфиг..."
sudo ln -s "$NGINX_CONF_DIR/$SITE_NAME" "$NGINX_CONF_LINK_DIR/$SITE_NAME"
# Проверка конфигурации Nginx
echo "Проверка конфигурации Nginx..."
sudo nginx -t
if [ $? -eq 0 ]; then
# Перезапуск Nginx
echo "Перезапуск Nginx..."
sudo systemctl restart nginx
echo "Сайт $SITE_NAME успешно развернут и доступен по адресу http://$SITE_NAME"
else
echo "Ошибка в конфигурации Nginx. Пожалуйста, проверьте конфигурацию вручную."
fi