php+python+supervisord项目部署

14 篇文章 0 订阅
6 篇文章 0 订阅

服务器操作系统:ubuntu 18.04

Nginx

安装Nginx

  1. sudo apt-get update
  2. sudo apt-get install nginx

查看Nginx状态

  1. sudo systemctl status nginx

启动Nginx服务

  1. sudo systemctl start nginx

重启Nginx服务

  1. sudo systemctl restart nginx

配置Nginx日志格式

vim /etc/nginx/nginx.conf

  1. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  2. ' $status $body_bytes_sent "$http_referer" '
  3. '"$http_user_agent" "$http_x_forwarded_for" '
  4. '$bytes_sent $request_length $request_time $upstream_response_time';

PHP

安装PHP7.3

  1. sudo apt-get install software-properties-common
  2. sudo add-apt-repository ppa:ondrej/php
  3. sudo apt-get update
  4. sudo apt-get install -y php7.3

安装PHP扩展

  1. sudo apt-get install php7.3-bcmath php7.3-bz2 php7.3-cgi php7.3-curl php7.3-dev php7.3-fpm php7.3-gd php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-soap php-redis php7.3-xml php7.3-zip php7.3-mongo

安装PHP包管理工具

  1. sudo apt-get install composer

配置PHP-FPM

  1. sudo vim /etc/php/7.3/fpm/pool.d/www.conf

PHP错误日志

  1. php_admin_value[error_log] = /var/log/fpm-php.www.log
  2. php_admin_flag[log_errors] = on

配置PHP-FPM子进程

  1. pm = static
  2. pm.max_children = 80

PHP慢日志

  1. slowlog = /var/log/$pool.log.slow
  2. request_slowlog_timeout = 5

重启PHP-FPM

  1. kill -USR2 `cat /run/php/php7.3-fpm.pid`

SFS挂载

  1. mkdir -p /data/sfs
  2. apt-get install nfs-common
  3. mount -t nfs -o vers=3,timeo=600,noresvport,nolock 10.250.50.193:/share_idata_pro /data/sfs

管理后台项目

python环境安装

  1. apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools
  2. pip3 install pymysql
  3. pip3 install python-dotenv
  4. pip3 install sshtunnel
  5. pip3 install redis
  6. pip3 install apscheduler

定时任务

  1. */15 * * * * /usr/bin/php7.3 /data/backend/project/artisan schedule:run >> /tmp/idata.log
  2. nohup /usr/bin/python3 /data/backend/project/task/task_app/jobs.py > /tmp/template.log 2>&1 &

接口服务

  1. cd /data/backend/project/api_app
  2. python3.6 -m venv apienv
  3. source apienv/bin/activate
  4. pip install wheel
  5. pip install flask gunicorn
  6. pip install gevent redis python-dotenv

supervisor

安装supervisor

  1. pip install supervisor
  2. mkdir -p /etc/supervisor
  3. mkdir -m 755 -p /etc/supervisor/
  4. echo_supervisord_conf > /etc/supervisord.conf

编辑配置文件,最后两行

vim /etc/supervisord.conf

  1. [include]
  2. files = /etc/supervisor/*.conf

创建日志目录

mkdir -p /var/log/gunicorn
chown -R www-data:www-data /var/log/gunicorn/

创建项目配置文件

vim /etc/supervisor/project.conf

  1. [program:template]
  2. directory = /data/backend/idata/template_app
  3. command = /data/backend/idata/template_app/templateenv/bin/gunicorn --workers 33 --worker-class gevent --bind unix:template.sock -m 007 app:server
  4. user = www-data
  5. autostart = true
  6. autorestart = true
  7. startretries = 3
  8. redirect_stderr = true
  9. stdout_logfile_maxbytes = 200MB
  10. stdout_logfile_backups = 10
  11. stdout_logfile = /var/log/gunicorn/template.log

workers 数为cpu核心数 X 2 + 1
user 启动用户
redirect_stderr stderr 重定向到 stdout
stdout_logfile_maxbytes 日志文件大小
stdout_logfile_backups 日志文件备份数
stdout_logfile 日志文件

管理supervisord

  1. supervisord -c /etc/supervisord.conf
  2. supervisorctl -c /etc/supervisord.conf status
  3. supervisorctl -c /etc/supervisord.conf reload

项目管理

  1. supervisorctl -c /etc/supervisord.conf stop project
  2. supervisorctl -c /etc/supervisord.conf start project
  3. supervisorctl -c /etc/supervisord.conf restart project

mysql:默认安装后的密码

 1.进入目录:cd /etc/mysql,查看debian.cnf文件

    2.使用上debian.cnf的账号密码登录MySQL。

    3.use mysql;

    4.使用一下语句设置账号密码:update user set authentication_string=PASSWORD("自定义新密码") where user='root';

    5.执行一下语句:update user set plugin="mysql_native_password";

    6.刷新:flush privileges;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值