MENU

LangSrcCurise部署爬坑记录

March 8, 2020 • 默认分类

配置环境

Python3.6

1、检查是否有 python,查看版本

python -V

安装接下来可能用到的依赖

yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

2、检查安装基础命令

检查是否有 wget 命令,没有则安装

3、通过 wget 命令下载 python 源码包

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

解压

tar -zxvf Python-3.6.5.tgz

进入目录

cd Python-3.6.5

进行编译,指定编译后生成文件的位置

yum install -y gcc
./configure --prefix=/usr/local/python3

提示如下编译成功

mark

进行安装

make && make install

提示如下安装完成

mark

设置关联

ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

检查关联

python3 -V
pip3 -V

mysql8.0

因为 mysql 启动和工作需求内存,这里踩了坑一开始用的是 512Mb 内存的 vps,导致服务一直开不起来,后来改成 1024Mb 内存的 vps,终于开起来服务了,也许 512 也可以开,但直接加钱能让我变强

下载 MySQL 的 yum 源(MySQL8.0.11)

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

安装 yum 源

yum localinstall mysql80-community-release-el7-1.noarch.rpm

更新 yum 源

yum clean all
yum makecache

创建 MySQL 账户

groupadd mysql
useradd -g mysql mysql

开始安装 MySQL

yum install mysql-community-server

启动 MySQL

systemctl start mysqld

这里如果内存不足以分配默认所需内存就会启动失败

查看初始密码

cat /var/log/mysqld.log | grep password

登录 mysql

mysql -u root -p

修改初始密码(密码一定要大小写字母 + 数字 + 符号,如:Aa-123456789)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

如果操作无误启动成功之后还是连接不上 mysql,请检查 Linux 防火墙是否关闭,若是在腾讯云或阿里云请检查安全组是否放行

nmap7.8

因为 nmap 直接用 yum 安装的不是程序需要的版本,且无法升级或降级,需要手动安全

官方文档建议使用 rpm 进行安装

访问资源站点 https://nmap.org/dist/

找到对应版本的 nmap 包,右键复制链接地址,回到命令窗口安装

rpm -vhU https://nmap.org/dist/nmap-7.80-1.x86_64.rpm

查看版本

nmap --version

查看本机开放端口情况

nmap localhost

踩到的坑

1、因为一开始没有进行 mysql 的优化,当遇到高并发操作,例如运行 scan 脚本时 mysql 就会崩溃,排查之后发现修改参数 Innodb_buffer_pool_size 可以解决这一问题,于是到 my。cnf 加入如下语句

innodb_buffer_pool_size=xxM

虽然还不知道原理,但可以减低 mysql 异常关闭的几率

2、因为要同时开启 python 进程,mysql 进程,扫描进程,所以 web 端和扫描端部署在同一台机器上会比较吃力,一开始我也是部署在同一台 vps 上,但一开启扫描就会导致内存被吃完以至于 mysql 没有足够内存去分配给将网站入库的 insert 操作而异常关闭,琢磨了一下功能发现 web 端和扫描端的确是可以分开运行,web 端主要就是 python 的 Django+mysql,这种服务可以直接部署在国内的云服务器上,而扫描端因为国内服务器扫端口必封号,并且只需要 python 来跑进程,所以可以在争取配置 mysql 的远程连接后把扫描端部署在 vps 上。

本文作者:Losir
本文链接:LangSrcCurise 部署爬坑记录 - https://ionssource.cn/archives/57/
版权声明:如无特别声明,本文即为原创文章,仅代表个人观点,版权归 Losir 所有,未经允许不得转载!

开往-友链接力