# 服务器环境
服务器配置初始化
安装特定版本的JDK
1 2 3 4 5 6 7 8 9 10 11 12 13 # 用于安装特定版本的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
直接复制然后保存为sh文件,加上执行权限执行就可以了。注意不要在windows环境编辑脚本再上传,不然要进行文件格式转化。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 # !/bin/bash # 卸载旧版本的 Docker yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 安装依赖包 yum install -y yum-utils # 添加 Docker 的 YUM 源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装 Docker 引擎、客户端和容器管理工具 yum install -y docker-ce docker-ce-cli containerd.io # 启动 Docker 服务 systemctl start docker # 显示已安装的 Docker 镜像 docker images # 设置 Docker 开机自动启动 systemctl enable docker # 创建 Docker 配置目录 mkdir -p /etc/docker # 配置镜像加速器地址 cat <<EOF > /etc/docker/daemon.json { "registry-mirrors": ["https://kru7klna.mirror.aliyuncs.com"] } EOF # 重新加载系统守护进程 systemctl daemon-reload # 重启 Docker 服务 systemctl restart docker echo "Docker 安装和配置完成"
下载mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 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配置 cat << EOF > /mydata/mysql/conf/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 EOF docker restart mysql
redis环境搭建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 docker pull redis mkdir -p /mydata/redis/conf touch /mydata/redis/conf/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分词器
1 2 # 先创建关联网络 docker network create es-net
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 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环境搭建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 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 看看有没有正常显示
Logstash安装
1 2 3 4 docker pull docker.elastic.co/logstash/logstash:7.9.1
内网穿透nps
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //下面来配置内网穿透 //安装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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 # 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 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;
后台运行项目
1 2 3 nohup java -jar hemei-admin.jar > outputjava.log & nohup python spider.py > outputpy.log &
linux安装python环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 # 安装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
查询端口占用情况
1 2 3 lsof -i:端口号 kill -9 pid
安装nps
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 把安装包拖入 解压 tar -xslf ./nps install 修改配置文件 cd /etc/nps/conf 配置文件在安装目录的不生效,上面的路径才生效 如果发现运行不成功可以通过 nps 进行调试 记得把所有端口都开给它 记得有 8080 8024 443 80 nps start
启动GitLab
1 docker run -itd -p 9443:443 -p 9980:9980 -p 9922:22 -v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name gitlab gitlab/gitlab-ce
安装nodejs环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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建站
1 2 3 4 docker pull wordpress docker run --name wordpress --link mysql:mysql -p 80:80 -d\ -v wordpress:/var/www/html wordpress
windows的shell文件转化到linux环境的
1 2 3 yum install dos2unix # 像下面的这个一样转化就好了 dos2unix install_docker.sh
常用运维命令大全
1 2 3 4 5 6 7 8 9 10 # 查看上一个命令的执行结果,如果是0则为成功。可用于shell编程 echo $? # 查看之前服务器运行的命令 可如history | grep 'docker run' 查看之前运行的docker run的参数 history | grep 'keyword' # 寻找按照文件名寻找文件 find 【文件夹路径】 -name "【文件名】" find / -name "keyword" # 列出服务器参数 lscpu vim删除全部 ggdG