配置环境
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
提示如下编译成功
进行安装
make && make install
提示如下安装完成
设置关联
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 所有,未经允许不得转载!