服务器环境
服务器配置初始化
安装特定版本的JDK
# 用于安装特定版本的JAVA
把JDK解压之后
vi /etc/profile
JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
source /etc/profile
ln -s /usr/local/jdk1.8.0_181/bin/java /usr/local/bin/java
安装docker
#卸载docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 在安装Docker之前先安装docker的依赖包
yum install -y yum-utils
# 告诉linux,安装docker要从哪里安装
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker(docker的引擎、操作docker的客户端、docker容器)
yum install docker-ce docker-ce-cli containerd.io
# 启动docker
systemctl start docker
docker images
# 给docker设置开机自动启动,省得以后每次启动输入启动命令
systemctl enable docker
# 创建文件目录
mkdir -p /etc/docker
# 配置镜像加速器地址
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kru7klna.mirror.aliyuncs.com"]
}
EOF
# 重启docker的后台线程
systemctl daemon-reload
# 重启docker服务
systemctl restart docker
下载mysql
docker pull mysql:5.7
mkdir /mydata /mydata/mysql /mydata/mysql/log /mydata/mysql/data /mydata/mysql/conf
docker images
# 密码是root
docker run -d \
--restart=always \
-p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
# 不添加权限,mysql数据就无法持久化
chmod 777 /mydata/mysql/log
chmod 777 /mydata/mysql/data
chmod 777 /mydata/mysql/conf
# 修改mysql配置
cd /mydata/mysql/conf
vi my.cnf
# 输入以下配置信息
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
docker restart mysql
redis环境搭建
docker pull redis
mkdir -p /mydata/redis/conf
cd /mydata/redis/conf
touch redis.conf
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
docker restart redis
vim redis.conf
# 使用 ? 向后搜索: 按下 ? 键,然后输入你要搜索的文本。 例如,如果你要搜索单词 "example",则输入 ?example
安装es和kibana和ik分词器
# 先创建关联网络
docker network create es-net
docker pull elasticsearch:7.12.0
mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
chmod 777 /usr/local/es/data
chmod 777 /usr/local/es/config
chmod 777 /usr/local/es/plugins
docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:7.12.0
docker exec -it es /bin/bash
cd config
echo 'xpack.security.enabled: false' >> elasticsearch.yml
docker restart es
# 如果有发现docker ps中的es容器一直在重启可以
docker logs es
# 来查看报错原因
kibana环境搭建
docker pull kibana:7.12.0
mkdir -p /usr/local/kibana/config /usr/local/kibana/data
chmod 777 /usr/local/kibana/data
chmod 777 /usr/local/kibana/config
docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
kibana:7.12.0
到本地虚拟机的这个目录
/usr/local/es/plugins
把我给的ik分词器安装包拖入
/usr/local/es/plugins/analysis-ik
解压
注意目录结构
如下图,不然无法识别
unzip elasticsearch-analysis-ik-7.12.0.zip
==================================
//如果没有这个命令就安装
yum list | grep zip/unzip
yum install zip
yum install unzip
===================================
docker restart es
curl localhost:9200
看看有没有正常显示
内网穿透nps
//下面来配置内网穿透
//安装npc
docker pull ffdfgdfg/npc
//下载conf文件夹,解压
https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/ehang-io/nps/tree/master/conf
//创建映射目录
mkdir /usr/local/npc /usr/local/npc/config
//解压config文件夹
docker run -d --name npc --net=host -v /usr/local/npc/config:/conf ffdfgdfg/npc -config=/conf/npc.conf
//安装nps
docker pull ffdfgdfg/nps
mkdir /usr/local/nps /usr/local/nps/config
//下载conf文件夹,解压
docker run -d --name nps --net=host -v /usr/local/nps/config:/conf ffdfgdfg/nps
sudo yum install golang
docker部署nginx
# docker 部署nginx
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/log
mkdir -p /usr/local/nginx/html
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/nginx/
# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx
# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx
docker run \
-p 9002:80 \
--name nginx \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/log:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-d nginx:latest
curl 127.0.0.1:9002
服务器部署nps
mkdir -p /usr/local/nps/config
docker pull oldiy/nps-server
docker run -d --name nps --net=host -v /usr/local/nps/config:/nps/conf oldiy/nps-server
docker stop nps
vim /usr/local/nps/config/nps.conf
====================================================
打开后重点关注下面这几项:
ini复制代码...
bridge_port=8024 # 客户端连接端口
...
web_username=admin # 后台管理用户名
web_password=123 # 后台管理密码
web_port = 8080 # 后台管理端口
...
以上是默认的配置,建议改掉。
========================================================
docker start nps
网页端访问 <ip_addr>:<web_port>,并通过用户名 <web_username> 和密码 <web_password> 登录后台管理界面了
//后面换教程了,这一段作废
服务器部署nginx
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget http://nginx.org/download/nginx-1.25.1.tar.gz
mkdir /usr/local /usr/local/nginx
mv nginx-1.25.1.tar.gz /usr/local/nginx
cd /usr/local/nginx
tar -zxf nginx-1.25.1.tar.gz
cd nginx-1.25.1
./configure
make && make install
cd /usr/local/nginx/sbin
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
./nginx
# 如果之前就配置过nginx,80端口费被占用,接下来就是修改下配置了
server {
listen 81;
server_name localhost;
后台运行项目
nohup java -jar hemei-admin.jar > outputjava.log &
nohup python spider.py > outputpy.log &
linux安装python环境
#安装py环境
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
#安装openssl
yum -y install gcc make zlib zlib-devel libffi libffi-devel readline-devel openssl-devel openssl11 openssl11-devel
# 下面的要导入到/etc/profile中
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
ldconfig -v
显示出相关内容
# 解压到/usr/local/src目录
$ tar zvxf Python-3.11.0.tgz -C /usr/local/src
$ cd /usr/local/src/Python-3.11.0
# 编译前配置
$ ./configure prefix=/usr/local/python3/Python3.11.0 --with-ssl
# 编译构建
$ make && make install
# 链接构建产出的Python可执行文件到/usr/local/bin目录
$ ln -s /usr/local/python3/Python3.11.0/bin/python3 /usr/local/bin/python
# 链接构建产出的pip3可执行文件到/usr/local/bin目录
$ ln -s /usr/local/python3/Python3.11.0/bin/pip3 /usr/local/bin/pip
# 链接构建产出的Python动态库 ????????好像不用这步
$ ln -s /usr/local/python3/lib/libpython3.11.so.1.0 /usr/lib/libpython3.11.so.1.0
# 配置动态库
$ ldconfig
$ python --version
Python 3.11.0 # 正常输出,表示安装成功
#pip默认是到pypi官方源下载第三方依赖包,下载速度可能会比较慢,可以考虑调整为腾讯云的pypi下载源,调整方式:
mkdir ~/.pip/
echo "extra-index-url = https://mirrors.cloud.tencent.com/pypi/simple" >> ~/.pip/pip.conf
#运行爬虫项目还需导入缺失的爬虫模块
pip install Flask
pip install requests
pip install pandas
pip3 install PyExecJS
查询端口占用情况
lsof -i:端口号
kill -9 pid
安装nps
把安装包拖入
解压
tar -xslf
./nps install
修改配置文件
cd /etc/nps/conf
配置文件在安装目录的不生效,上面的路径才生效
如果发现运行不成功可以通过
nps
进行调试
记得把所有端口都开给它
记得有
8080
8024
443
80
nps start
安装nodejs环境
wget https://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.xz
tar xf node-v16.19.1-linux-x64.tar.xz
mkdir /usr/local/lib/node
mv node-v16.19.1-linux-x64 /usr/local/lib/node/nodejs
sudo vim /etc/profile
export NODEJS_HOME=/usr/local/lib/node/nodejs
export PATH=$NODEJS_HOME/bin:$PATH
source /etc/profile
node -v
npm -v
下载WordPress建站
docker pull wordpress
docker run --name wordpress --link mysql:mysql -p 80:80 -d\
-v wordpress:/var/www/html wordpress