环境要求:python3,nginx,uwsgi,pip,git,node

1.搭建项目要求的环境:

安装uwsgi pip install uwsgi
安装python3.下载python3安装包,解压后进入其目录
1.执行编译前的configure操作
./configure prefix=/usr/local/python3
2.编译源码
make && make install
3.创建python3的链接:
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
4.创建pip3的链接:
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
5.pip3升级
pip3 install —upgrade pip
6.修改yum配置文件/usr/bin/python—->/usr/bin/python2(/vi usr/libexec/urlgrabber-ext-down和 vi /usr/bin/yum)

2.配置nginx前后端环境域名证书

前端配置:xiaolaba-qun.conf
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name xiaolaba-qun.pplu.vip; #将localhost修改为您证书绑定的域名,例如:www.example.com。
root /root/cuijianjun/xiaolaba-qun/;
index index.html index.htm;
ssl_certificate /usr/local/nginx/cert/xiaolaba-qun/4579699_xiaolaba-qun.pplu.vip.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key /usr/local/nginx/cert/xiaolaba-qun/4579699_xiaolaba-qun.pplu.vip.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root /root/cuijianjun/xiaolaba-qun/; #站点目录。
index index.html index.htm;
gzip on;
# gzip_static on;
# gzip_http_version 1.1;
# gzip_comp_level 5;
# gzip_buffers 4 16k;
# gzip_types text/plain application/json application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;
}
location /app {
proxy_pass http://127.0.0.1:8888/app;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1000m;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 512k;
proxy_buffers 64 128k;
proxy_busy_buffers_size 1024k;
proxy_temp_file_write_size 512k;
proxy_connect_timeout 30s;

  1. }<br />}<br />>>>>>>>后端配置:cat xiaolaba.conf<br />server {<br /> listen 80;<br /> server_name xiaolaba.pplu.vip;
  2. location / {<br /> proxy_pass [http://127.0.0.1:8888;](http://127.0.0.1:8888;)<br /> proxy_set_header Host $host;<br /> proxy_set_header X-Real-IP $remote_addr;<br /> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br /> client_max_body_size 1000m;<br /> proxy_send_timeout 300;<br /> proxy_read_timeout 300;<br /> proxy_buffer_size 512k;<br /> proxy_buffers 64 128k;<br /> proxy_busy_buffers_size 1024k;<br /> proxy_temp_file_write_size 512k;<br /> proxy_connect_timeout 30s;
  3. }<br />}

3.拉取github上的代码python.https://github.com/cuijianjun/spider-backend

cd spider-backend 创建文件及文件夹:./uwsgi.ini ./bin/uwsgi.sh ./logs ./venv ./uwsgi.pid
uwsgi.ini [uwsgi]
master = true
http=:8888
chdir = ./
wsgi-file=./spider/app.py
callable=app
# processes=4
threads=8
enable-threads=True
preload=true
lazy-apps=true
buffer-size = 65536
vacuum=true
pidfile =./uwsgi.pid
daemonize=./logs/spider.log

uwsgi.sh #! /bin/sh

BASE_PATH=.venv/bin

PATH=$BASE_PATH/python
PROJCET_PATH=./
CONFIGURE=$PROJCET_PATH/uwsgi.ini
PID_FILE=$PROJCET_PATH/uwsgi.pid
UWSGI_CMD=$BASE_PATH/uwsgi

case “$@” in
start)
$UWSGI_CMD —ini $CONFIGURE
echo “start uwsgi ok..”
;;
stop)
$UWSGI_CMD —stop $PID_FILE
echo “stop uwsgi ok..”
;;
reload)
$UWSGI_CMD —reload $PID_FILE
echo “reload uwsgi ok..”
;;
restart)
$UWSGI_CMD —stop $PID_FILE
sleep 1
$UWSGI_CMD —ini $CONFIGURE
;;
*)
echo ‘unknown arguments (start|stop|reload|restart)’
exit 1
;;
esac

配置Python项目里面数据库信息:/root/spider-backend/spider/config.py

import os
from io import StringIO
from dotenv import load_dotenv

BASEDIR = os.path.dirname(os.path.abspath(_file))
# Note:
# 1. dotenv默认会使用US-ASCII编码读取文本文件, 除非在系统环境中设置LC_CTYPE
# 2. 因为env文件中会包含中文, 需要设置系统的LC_CTYPE=zh_CN.UTF-8或者在读取的强制按照utf8编码
with StringIO(open(BASE_DIR + ‘/.env’, encoding=’utf-8’).read()) as f:
load_dotenv(stream=f, override=True)

class BaseConfig(object):

MYSQL_URL = os.getenv('MYSQL_URL') or \<br />                'mysql+pymysql://root:Cjjxw0320@rm-2zem2s75xqoe8t2gefo.mysql.rds.aliyuncs.com:3306/f_football?charset=utf8'

config = BaseConfig()

注意:执行的命令:

877 uwsgi —reload uwsgi.pid
882 cd py3venv/
888 rm -rf py3venv/
890 pip3 install -r requirements.txt
891 pip3 list
893 python main.py
895 find / -name text.py
906 netstat -ntpl
911 uwsgi
924 cd python
925 cd python3/
929 cd Python-3.6.8/
936 cat /usr/local/nginx/conf.d/xiaolaba-qun.conf
943 pip3 install -r requirements.txt
944 pip -v
956 cd c
958 cd cd
966 pip install cloud-init==19.1
968 pip install cloud-init
969 cd cuijianjun/
983 mkdir ~/.pip
984 vim ~/.pip/pip.conf
986 cp -R xiaolaba.conf /usr/local/nginx/conf.d/
991 cd cert/
997 rm -Rvf ~/.pip/
1002 cd tmp
1004 cd tm
1008 mkdir tmp
1011 git clone https://git.launchpad.net/cloud-init
1015 pip install yaml
1019 source ../../spider-backend/.venv/bin/activate
1020 pip install pyyaml
1023 pip install requests
1025 pip install requirements.txt
1026 pip install requirements.txt -requirements.txt
1029 vim /etc/cloud/cloud.conf
1034 pip install click
1040 pip install flaskscript
1047 cd tmp/
1049 cd cloud-init
1051 vim conftest.py
1052 python setup.py install
1053 pip serch cloud-init
1054 pip -h
1055 pip search cloud-init
1056 cd ~/spider-backend
1060 git checkout requirements.txt
1066 mkdir spider/.env
1069 rm -Rvf spider/.env
1071 cp spider/.env.example spider/.env.example
1072 cp spider/.env.example spider/.env
1074 mkdir bin
1078 vim uwsgi.sh
1081 cp /root/tmp/uwsgi.sh bin/
1082 cp /root/tmp/uwsgi.ini .
1086 netstat -anutp|grep 8000
1087 netstat -anutp|grep 8888
1090 vim manage.py
1091 vim main.py
1092 ls indexsplider/
1094 vim spider/app.py
1096 mkdir logs
1100 pip install uwsgi.ini
1101 pip install uwsgi
1104 netstat -anutp|grep 8888
1105 crul -a http://127.0.0.1:8888
1106 curl -a http://127.0.0.1:8888
1107 vim uwsgi.ini
1114 ps -ef|grep python
1116 ps -ef|grep uwsgi
1133 cp xiaolaba.conf /usr/local/nginx/conf.d/
1148 netstat -tapl
1149 netstat -napl
1151 netstat -antp|grep 8888
1152 cd spider-backend
1154 cat uwsgi.ini
1181 cd bak
1185 cp -R xiaolaba.conf /usr/local/nginx/conf.d
1202 ningx -s reload
1217 kk
1232 rm -rf xiaolaba.conf
1241 cd conf
1244 cat nginx.conf.default
1246 vim nginx.conf
1257 cd /usr/local
1264 vim xiaolaba.conf
1276 nginx -s reload
1280 chmod 777 xiaolaba.conf
1283 kill -9 18343 31012
1284 ps -ef|grep nginx
1287 cd sbin/
1290 kill -9 18343 31012
1304 vim xiaolaba-qun.conf aolaba
1328 vim xiaolaba-qun.conf
1331 nginx -t
1341 vim xiaolaba.conf
1347 cat xiaolaba.conf
1354 cd .ssh/
1356 cat authorizedkeys
1357 vim authorizedkeys
1362 vim conf.d/xiaolaba.conf
1363 vim conf.d/xiaolaba-qun.conf
1376 ./sbin/nginx -s reload
1382 tree .
1383 cat spider/app.py
1385 cat spider/api/init.py
1386 ls spider/
1390 ls api
1392 ls services/
1393 ls __init
.py
1394 cat __init
.py
1396 curl -a http://127.0.0.1:8888/api/class_list_forever
1397 curl -a http://127.0.0.1:8888/api/class_list_forever/
1398 curl -a http://127.0.0.1:8888/app/class_list_forever/
1400 git grep class_list_forever
1401 vim api/activity.py
1402 vim /usr/local/nginx/conf.d/xiaolaba-qun.conf
1405 vim /usr/local/nginx/conf.d/xiaolaba-qun.conf
1406 /usr/local/nginx/sbin/nginx -t
1407 /usr/local/nginx/sbin/nginx -s reload
1417 vim requirements.txt
1426 curl -a http://127.0.0.1:8888/app/class_list_forever
1428 pip install uwsgi.
1431 kill -9 3911
1432 netstat -antp|grep 8888
1438 history |grep pip install
1439 history |grep pip
1441 pip install -r requirements.txt
1442 python manage.py runserver
1447 pip3 install uwsgi
1451 python manage.py runserver 0.0.0.0:8888
1452 python manage.py runserver -h 0.0.0.0 -p 8888
1455 pip install —upgrade sqlalchemy
1461 cat requirements.txt
1463 pip install sqlalchemy==2.4.0
1464 pip install sqlalchemy
1469 vim spider/.env.example
1470 vim spider/config.py
1471 cat spider/.env
1472 mysql -u root -p
1473 mysql -u root
1477 history |grep mysql
1478 pip install uwsgi
1485 pip -V
1486 pip3 -V
1487 pip
1494 git branch
1495 git pull
1496 netstat
1498 git grep Model
1499 ll
1500 vim spider/orm/image.py
1505 vim config.py
1506 cat config.py
1508 mysql -hrm-2zem2s75xqoe8t2gefo.mysql.rds.aliyuncs.com -uroot -p
1510 python manage.py db
1512 python manage.py db init
1514 cat spider/config.py
1515 @MYSQL_URL
1516 $MYSQL_URL
1517 vim spider/.env
1518 python manage.py shell
1519 python manage.py db migrate
1521 python manage.py db
1522 python manage.py db upgrade
1525 pip install sqlalchemy==1.3
1527 python manage.py runserver -h 0.0.0.0 -p 8888
1529 pip install requirements.txt -r -i https://pypi.tuna.tsinghua.edu.cn/simple
1533 python3
1534 python3 -m venv .venv
1535 source .venv/bin/activate
1536 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
1537 pip install —upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
1538 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
1539 pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple
1540 vim bin/uwsgi.sh
1541 rm -Rvf .venv/
1542 ls -a
1543 history |grep python3
1544 history |grep python
1545 python
1546 python -m venv .venv
1547 source .venv/bin/activate
1548 deactivate
1549 source .venv/bin/activate
1550 pip list
1551 pip install —upgrade pip
1552 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
1553 pip install -r uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple
1554 pip install uwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple
1555 sh bin/uwsgi.sh start
1556 netstat -anutp
1557 tail -f logs/spider.log
1558 pip uninstall sqlalchemy
1559 ll
1560 cd /usr/local/
1561 ll
1562 cd nginx
1563 ll
1564 pip install sqlalchemy==1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
1565 cd conf.d/
1566 ll
1567 cat xiaolaba.conf
1568 q
1569 ll
1570 sh bin/uwsgi.sh reloa
1571 cat xiaolaba-qun.conf
1572 sh bin/uwsgi.sh reload
1573 history |grep git
1574 git grep class_list_forever
1575 vim spider/api/activity.py
1576 pip list
1577 ls
1578 cd spider/
1579 ls
1580 cd services/
1581 ls
1582 vim image_service.py
1583 git grep Image
1584 vim image_service.py
1585 cd ../
1586 ls
1587 cd ../
1588 pwd
1589 git grep image_service.py
1590 vim spider/services/image_service.py
1591 git grep image_service.py
1592 vim spider/services/image_service.py
1593 git grep ImageServer
1594 vim spider/services/image_service.py
1595 git grep ImageService
1596 vim index_splider/index.py
1597 git grep hander
1598 vim index_splider/index.py
1599 git grep handler
1600 vim index_splider/index.py
1601 git grep SpiderScript
1602 python manage.py spider
1603 pwd
1604 which python
1605 crontab -e
1606 ls
1607 vim crontab_task.sh
1608 sh crontab_task.sh
1609 tail logs/tasks.log
1610 vim crontab_task.sh
1611 which sh
1612 pwd
1613 crontab -e
1614 vim crontab_task.sh
1615 systemctl reload crontab
1616 crontab
1617 systemctl reload crond.service
1618 tail -f logs/tasks.log
1619 crontab -e
1620 systemctl reload crond.service
1621 tail -f logs/tasks.log
1622 cat crontab_task.sh
1623 cd /root/spider-backend && /root/spider-backend/.venv/bin/python /root/spider-backend/manage.py spider >> /root/spider-backend/logs/tasks.log &
1624 tail -f logs/tasks.log
1625 tail -f /var/log/cron
1626 tail -f logs/tasks.log
1627 ll logs/
1628 echo “” > tasks.log
1629 ll logs/
1630 pwd
1631 cd logs/
1632 ls
1633 ll
1634 vim tasks.log
1635 ll
1636 tail -f tasks.log
1637 ll
1638 tail -f tasks.log
1639 tail -f /var/log/cron
1640 pwd
1641 cd ../
1642 ls
1643 pwd
1644 cat spider/config.py
1645 mysql -hrm-2zem2s75xqoe8t2gefo.mysql.rds.aliyuncs.com -uroot -p
1646 ll logs/
1647 chmod a+w logs/tasks.log
1648 ll logs/
1649 crontab -e
1650 crontab -l
1651 ll logs/
1652 cat crontab_task.sh
1653 crontab -e
1654 history |grep systemctl
1655 crontab -l
1656 systemctl reload crond.service
1657 crontab -e
1658 systemctl reload crond.service
1659 ll logs/tasks.log
1660 tail -f logs/tasks.log
1661 date
1662 ll logs/
1663 crontab -l
1664 history
1665 tail -f /var/log/cron
1666 crontab -e
1667 systemctl reload crond.service
1668 tail -f /var/log/cron
1669 tail -f logs/tasks.log
1670 cat spider/config.py
1671 mysql -hrm-2zem2s75xqoe8t2gefo.mysql.rds.aliyuncs.com -uroot -p
1672 crontab -e
1673 systemctl reload crond.service
1674 exit
1675 Cjjxw0320