parent
08c6b7b87f
commit
0e2578738f
@ -1,13 +0,0 @@ |
||||
#!/bin/bash |
||||
# |
||||
# |
||||
w_path=`pwd` |
||||
s_path=`dirname ${w_path}` |
||||
|
||||
#first build fir_client |
||||
docker pull node:14.17.3 |
||||
docker run --rm -v ${s_path}/fir_client:/fir_client -it node:14.17.3 sh /fir_client/build.sh |
||||
|
||||
## secode build fir_ser |
||||
cd ../ |
||||
docker build . -t flyapps |
@ -1,6 +0,0 @@ |
||||
#!/bin/bash |
||||
sed -i '/^\[program:init/,$d' /etc/supervisor/conf.d/flyapps.conf |
||||
supervisorctl stop init &>/dev/null |
||||
supervisorctl stop end &>/dev/null |
||||
echo 'init end------------------------------------------' |
||||
exit 0 |
@ -1,58 +0,0 @@ |
||||
[program:nginx] |
||||
command=/usr/sbin/nginx -g 'daemon off;' |
||||
stdout_logfile=/data/logs/nginx.log |
||||
stderr_logfile=/data/logs/nginx.err |
||||
#user=nginx |
||||
autostart=true |
||||
autorestart=true |
||||
startsecs=1 |
||||
|
||||
[program:redis] |
||||
command=/usr/bin/redis-server /etc/redis/redis.conf |
||||
stdout_logfile=/data/logs/redis.log |
||||
stderr_logfile=/data/logs/redis.err |
||||
autostart=true |
||||
autorestart=true |
||||
startsecs=3 |
||||
daemonize=no |
||||
[program:flyapps] |
||||
directory=/data/flyapps/fir_ser/ |
||||
command=/usr/local/bin/uwsgi --ini uwsgi.conf |
||||
user=www-data |
||||
stdout_logfile=/data/logs/flyapps.log |
||||
stderr_logfile=/data/logs/flyapps.err |
||||
autostart=true |
||||
autorestart=true |
||||
startsecs=3 |
||||
daemonize=no |
||||
|
||||
[program:celery] |
||||
directory=/data/flyapps/fir_ser/ |
||||
command=/usr/local/bin/celery -A fir_ser worker --beat --scheduler django --loglevel=debug |
||||
user=www-data |
||||
stdout_logfile=/data/logs/celery.log |
||||
stderr_logfile=/data/logs/celery.err |
||||
autostart=true |
||||
autorestart=true |
||||
startsecs=3 |
||||
daemonize=no |
||||
|
||||
[program:init] |
||||
startsecs=1 |
||||
stdout_logfile=/data/logs/init.log |
||||
stderr_logfile=/data/logs/init.err |
||||
command=/data/flyapps/init.sh |
||||
user=www-data |
||||
autostart=true |
||||
autorestart=false |
||||
daemonize=no |
||||
|
||||
[program:end] |
||||
startsecs=1 |
||||
stdout_logfile=/data/logs/init.log |
||||
stderr_logfile=/data/logs/init.err |
||||
command=/data/flyapps/end.sh |
||||
autostart=true |
||||
autorestart=false |
||||
daemonize=no |
||||
|
@ -1,5 +0,0 @@ |
||||
#!/bin/bash |
||||
cd /data/flyapps/fir_ser/ |
||||
python manage.py makemigrations && python manage.py migrate |
||||
python manage.py loaddata dumpdata.json |
||||
exit 0 |
@ -1,10 +0,0 @@ |
||||
#!/bin/bash |
||||
# |
||||
# |
||||
docker network create flyapps |
||||
docker run --net flyapps --name mariadb -e MARIADB_ROOT_PASSWORD=root -d mariadb:10.5 |
||||
docker exec -it mariadb mysql -proot -e 'create database flyapp default character set utf8 COLLATE utf8_general_ci;' |
||||
docker exec -it mariadb mysql -proot -e "grant all on flyapp.* to flyuser@'%' identified by 'KGzKjZpWBp4R4RSa';" |
||||
|
||||
|
||||
docker run --net flyapps --link mariadb:mariadb -p 443:443 --name flyapps -d flyapps |
@ -1,41 +0,0 @@ |
||||
[uwsgi] |
||||
# 对外提供 http 服务的端口 |
||||
#http = 127.0.0.1:8899 |
||||
|
||||
#listen = 512 # set max connections to 1024 in uWSGI |
||||
|
||||
#the local unix socket file than commnuincate to Nginx 用于和 nginx 进行数据交互的端口 |
||||
socket = 127.0.0.1:8899 |
||||
|
||||
# the base directory (full path) django 程序的主目录 |
||||
chdir = /data/flyapps/fir_ser |
||||
|
||||
# Django's wsgi file |
||||
wsgi-file = fir_ser/wsgi.py |
||||
|
||||
touch-reload = fir_ser |
||||
#uwsgi 内部解析数据包大小为4K ,自己可以增加64k |
||||
buffer-size = 65536 |
||||
# maximum number of worker processes |
||||
processes = 8 |
||||
|
||||
#thread numbers startched in each worker process |
||||
threads = 4 |
||||
|
||||
#monitor uwsgi status 通过该端口可以监控 uwsgi 的负载情况 |
||||
stats = 127.0.0.1:9191 |
||||
|
||||
# 如果以nginx用户运行,则需要授权 ruby 权限 chmod ug+s /usr/local/rvm/rubies/ruby-2.7.0/bin/ruby /usr/bin/isign 否则,会导致登录信息保存失败 |
||||
uid=www-data |
||||
gid=www-data |
||||
|
||||
# clear environment on exit |
||||
vacuum = true |
||||
|
||||
enable-threads = true |
||||
|
||||
# 后台运行,并输出日志 |
||||
#daemonize = ./flyapp.log |
||||
|
||||
# 为了让阿里云cdn可以缓存数据 |
||||
del-header=cache-control |
@ -1,46 +0,0 @@ |
||||
FROM python:3.6.14-slim |
||||
|
||||
# Fixes some weird terminal issues such as broken clear / CTRL+L |
||||
ARG PIP_MIRROR=https://mirrors.aliyun.com/pypi/simple |
||||
|
||||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \ |
||||
&& sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \ |
||||
&& apt update |
||||
|
||||
RUN apt-get install g++ wget nginx redis supervisor -y |
||||
RUN apt-get install libssl-dev openssl libmariadb-dev sqlite -y |
||||
RUN rm -rf /var/lib/apt/lists/* |
||||
|
||||
|
||||
RUN mkdir -pv /data/flyapps |
||||
RUN mkdir -pv /data/logs/ |
||||
|
||||
COPY fir_client/dist /data/flyapps/fir_client |
||||
|
||||
RUN cd /opt/ && wget https://github.com/nineaiyu/zsign/archive/refs/tags/v1.1.1.tar.gz |
||||
RUN cd /opt/ && tar xvf v1.1.1.tar.gz && cd zsign-1.1.1/ && g++ *.cpp common/*.cpp -lcrypto -O3 -std=c++11 -o zsign && cp zsign /usr/bin/ |
||||
# install pip |
||||
COPY fir_ser /data/flyapps/fir_ser |
||||
RUN cd /data/flyapps/fir_ser/ && pip install -U setuptools pip -i ${PIP_MIRROR} --ignore-installed && pip install --no-cache-dir -r requirements.txt -i ${PIP_MIRROR} && pip install --no-cache-dir uwsgi -i ${PIP_MIRROR} |
||||
|
||||
RUN rm -rf /var/cache/yum/ |
||||
|
||||
COPY Docker/flyapps.conf /etc/supervisor/conf.d/flyapps.conf |
||||
COPY Docker/uwsgi.conf /data/flyapps/fir_ser/uwsgi.conf |
||||
COPY Docker/flyapps-vhost.conf /etc/nginx/conf.d/flyapps-vhost.conf |
||||
COPY Docker/app.hehelucky.cn.pem /data/flyapps/app.hehelucky.cn.pem |
||||
COPY Docker/app.hehelucky.cn.key /data/flyapps/app.hehelucky.cn.key |
||||
RUN chown -R www-data:www-data /data/flyapps/fir_ser/ |
||||
|
||||
|
||||
RUN sed -i "/^daemonize/s@yes@no@" /etc/redis/redis.conf |
||||
|
||||
|
||||
#RUN cd /data/flyapps/&& source py3/bin/activate && cd fir_ser/ && python manage.py makemigrations && python manage.py migrate |
||||
COPY Docker/init.sh /data/flyapps/init.sh |
||||
COPY Docker/end.sh /data/flyapps/end.sh |
||||
EXPOSE 443 |
||||
#ENTRYPOINT ["/data/flyapps/init.sh"] |
||||
#ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf", "-n"] |
||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf", "-n"] |
||||
|
@ -0,0 +1,12 @@ |
||||
#!/bin/bash |
||||
# |
||||
# |
||||
# shellcheck disable=SC2006 |
||||
s_path=`pwd` |
||||
|
||||
#first build fir_client |
||||
docker pull node:14.17.3 |
||||
\cp -a build_client.sh fir_client/ |
||||
docker run --rm -v "${s_path}"/fir_client:/fir_client -it node:14.17.3 sh /fir_client/build_client.sh |
||||
|
||||
cd "${s_path}"/fir_ser/ && docker build . -t flyapps |
@ -0,0 +1,7 @@ |
||||
#!/bin/bash |
||||
# |
||||
# |
||||
|
||||
cd /fir_client/ && yarn config set registry https://registry.npm.taobao.org && yarn install && yarn build |
||||
|
||||
|
@ -0,0 +1,41 @@ |
||||
FROM python:3.6.14-slim |
||||
|
||||
# Fixes some weird terminal issues such as broken clear / CTRL+L |
||||
ARG PIP_MIRROR=https://mirrors.aliyun.com/pypi/simple |
||||
|
||||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \ |
||||
&& sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \ |
||||
&& apt update |
||||
|
||||
RUN apt-get install g++ wget -y |
||||
RUN apt-get install libssl-dev openssl libmariadb-dev -y |
||||
RUN rm -rf /var/lib/apt/lists/* |
||||
|
||||
|
||||
|
||||
#COPY fir_client/dist /data/flyapps/fir_client |
||||
|
||||
#RUN cd /opt/ && wget https://github.com/nineaiyu/zsign/archive/refs/tags/v1.1.2.tar.gz |
||||
COPY zsign-1.1.2.tar.gz /opt/zsign-1.1.2.tar.gz |
||||
RUN cd /opt/ && tar xvf zsign-1.1.2.tar.gz && cd zsign-1.1.2/ && g++ *.cpp common/*.cpp -lcrypto -O3 -std=c++11 -o zsign && cp zsign /usr/bin/ |
||||
# install pip |
||||
COPY requirements.txt /opt/requirements.txt |
||||
RUN cd /opt/ && pip install -U setuptools pip -i ${PIP_MIRROR} --ignore-installed && pip install --no-cache-dir -r requirements.txt -i ${PIP_MIRROR} && pip install --no-cache-dir uwsgi -i ${PIP_MIRROR} |
||||
|
||||
RUN rm -rf /var/cache/yum/ |
||||
|
||||
#COPY Docker/flyapps.conf /etc/supervisor/conf.d/flyapps.conf |
||||
#COPY Docker/uwsgi.conf /data/flyapps/fir_ser/uwsgi.conf |
||||
#COPY Docker/flyapps-vhost.conf /etc/nginx/conf.d/flyapps-vhost.conf |
||||
#COPY Docker/app.hehelucky.cn.pem /data/flyapps/app.hehelucky.cn.pem |
||||
#COPY Docker/app.hehelucky.cn.key /data/flyapps/app.hehelucky.cn.key |
||||
|
||||
WORKDIR /data/fir_ser/ |
||||
RUN addgroup --system --gid 101 nginx \ |
||||
&& adduser --system --disabled-login --ingroup nginx --no-create-home --home /nonexistent --gecos "nginx user" --shell /bin/false --uid 101 nginx |
||||
|
||||
#EXPOSE 443 |
||||
#ENTRYPOINT ["./entrypoint.sh"] |
||||
#ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf", "-n"] |
||||
CMD ["python", "manage.py", "start", "all","-u","nginx","-usm","1"] |
||||
|
@ -1,25 +0,0 @@ |
||||
#!/bin/bash |
||||
# |
||||
|
||||
source /www/flyapps/py3/bin/activate && cd /www/flyapps/fir_ser/ |
||||
chown www.www -R /www/flyapps/fir_ser/ |
||||
stop(){ |
||||
pgrep -f uwsgi |xargs -i kill {} |
||||
sleep 1 |
||||
pgrep -f celery |xargs -i kill {} |
||||
} |
||||
start(){ |
||||
uwsgi --ini uwsgi.conf |
||||
sleep 1 |
||||
celery multi start 4 -A fir_ser -l INFO -c4 --pidfile=/var/run/celery/%n.pid --logfile=logs/%p.log |
||||
sleep 1 |
||||
nohup celery -A fir_ser beat --uid=1000 --pidfile=logs/beat.pid --scheduler django -l INFO --logfile=logs/beat.log & |
||||
|
||||
} |
||||
|
||||
restart(){ |
||||
stop |
||||
sleep 1 |
||||
start |
||||
} |
||||
$@ |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,41 @@ |
||||
#!/bin/bash |
||||
# |
||||
# |
||||
|
||||
# shellcheck disable=SC2006 |
||||
s_path=`pwd` |
||||
|
||||
docker network create flyapps |
||||
docker run --net flyapps --name redis -d redis:6.2.5 redis-server --requirepass nineven --bind '0.0.0.0' |
||||
|
||||
docker run --net flyapps --name mariadb -e MARIADB_ROOT_PASSWORD=root -v "${s_path}"/data/mysql:/var/lib/mysql -d mariadb:10.5 |
||||
sleep 3 |
||||
|
||||
code=1 |
||||
count=1 |
||||
while [ ${code} -ne 0 ];do |
||||
docker exec -it mariadb mysql -proot -e 'show databases;' |
||||
code=$? |
||||
((count+=1)) |
||||
if [ "$count" -gt 30 ];then |
||||
echo "30s away, but mysql service is not available" |
||||
exit 1 |
||||
fi |
||||
sleep 2 |
||||
echo "check whether mysql service is ready..." |
||||
done |
||||
|
||||
docker exec -it mariadb mysql -proot -e 'create database flyapp default character set utf8 COLLATE utf8_general_ci;' |
||||
docker exec -it mariadb mysql -proot -e "grant all on flyapp.* to flyuser@'%' identified by 'KGzKjZpWBp4R4RSa';" |
||||
|
||||
|
||||
docker run --sysctl net.core.somaxconn=4096 --net flyapps \ |
||||
-v "${s_path}"/fir_ser:/data/fir_ser \ |
||||
-v "${s_path}"/data/files:/data/fir_ser/files \ |
||||
-v "${s_path}"/data/supersign:/data/fir_ser/supersign \ |
||||
--name flyapps -d flyapps |
||||
|
||||
docker run --net flyapps --name nginx -d -p 80:80 -p 443:443 \ |
||||
-v "${s_path}"/fir_client/dist:/data/fir_client \ |
||||
-v "${s_path}"/nginx.conf.d:/etc/nginx/conf.d nginx:1.21.3 |
||||
|
Loading…
Reference in new issue