保姆级入门搞定从零开始的linux服务器配置

保姆级入门搞定从零开始的linux服务器配置

# 服务器环境

服务器配置初始化

安装特定版本的JDK

12345678910111213# 用于安装特定版本的JAVA把JDK解压之后vi /etc/profileJAVA_HOME=/usr/local/jdk/jdk1.8.0_181PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME PATH CLASSPATHsource /etc/profileln -s /usr/local/jdk1.8.0_181/bin/java /usr/local/bin/java

安装docker

直接复制然后保存为sh文件,加上执行权限执行就可以了。注意不要在windows环境编辑脚本再上传,不然要进行文件格式转化。

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#!/bin/bash# 卸载旧版本的 Dockeryum 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 < /etc/docker/daemon.json{ "registry-mirrors": ["https://kru7klna.mirror.aliyuncs.com"]}EOF# 重新加载系统守护进程systemctl daemon-reload# 重启 Docker 服务systemctl restart dockerecho "Docker 安装和配置完成"

下载mysql

123456789101112131415161718192021222324252627282930313233343536373839docker pull mysql:5.7mkdir /mydata /mydata/mysql /mydata/mysql/log /mydata/mysql/data /mydata/mysql/confdocker images# 密码是rootdocker 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/logchmod 777 /mydata/mysql/datachmod 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=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshakeskip-name-resolveEOFdocker restart mysql

redis环境搭建

12345678910111213141516171819202122docker pull redismkdir -p /mydata/redis/conftouch /mydata/redis/conf/redis.confdocker 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分词器

12# 先创建关联网络docker network create es-net

1234567891011121314151617181920212223242526272829303132333435363738docker pull elasticsearch:7.12.0mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/pluginschmod 777 /usr/local/es/datachmod 777 /usr/local/es/configchmod 777 /usr/local/es/pluginsdocker 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.0docker exec -it es /bin/bashcd configecho 'xpack.security.enabled: false' >> elasticsearch.ymldocker restart es# 如果有发现docker ps中的es容器一直在重启可以docker logs es# 来查看报错原因

kibana环境搭建

12345678910111213141516171819202122232425262728293031323334353637383940414243docker pull kibana:7.12.0mkdir -p /usr/local/kibana/config /usr/local/kibana/datachmod 777 /usr/local/kibana/datachmod 777 /usr/local/kibana/configdocker 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/unzipyum install zipyum install unzip===================================docker restart escurl localhost:9200看看有没有正常显示

Logstash安装

1234docker pull docker.elastic.co/logstash/logstash:7.9.1

内网穿透nps

1234567891011121314151617181920212223242526//下面来配置内网穿透//安装npcdocker 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//安装npsdocker pull ffdfgdfg/npsmkdir /usr/local/nps /usr/local/nps/config//下载conf文件夹,解压docker run -d --name nps --net=host -v /usr/local/nps/config:/conf ffdfgdfg/npssudo yum install golang

docker部署nginx

123456789101112131415161718192021222324252627282930313233343536373839404142434445# docker 部署nginxmkdir -p /usr/local/nginx/confmkdir -p /usr/local/nginx/logmkdir -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对应的容器iddocker ps -a# 关闭该容器docker stop nginx# 删除该容器docker rm nginx # 删除正在运行的nginx容器docker rm -f nginxdocker 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:latestcurl 127.0.0.1:9002

服务器部署nps

12345678910111213141516171819202122232425262728293031mkdir -p /usr/local/nps/configdocker pull oldiy/nps-serverdocker run -d --name nps --net=host -v /usr/local/nps/config:/nps/conf oldiy/nps-serverdocker stop npsvim /usr/local/nps/config/nps.conf====================================================打开后重点关注下面这几项:ini复制代码...bridge_port=8024 # 客户端连接端口...web_username=admin # 后台管理用户名web_password=123 # 后台管理密码web_port = 8080 # 后台管理端口...以上是默认的配置,建议改掉。========================================================docker start nps网页端访问 :,并通过用户名 和密码 登录后台管理界面了//后面换教程了,这一段作废

服务器部署nginx

1234567891011121314151617181920212223242526272829303132333435363738yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-develwget 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;

后台运行项目

123nohup java -jar hemei-admin.jar > outputjava.log &nohup python spider.py > outputpy.log &

linux安装python环境

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 #安装py环境wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz#安装opensslyum -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/srccd /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 # 配置动态库ldconfigpython --versionPython 3.11.0 # 正常输出,表示安装成功#pip默认是到pypi官方源下载第三方依赖包,下载速度可能会比较慢,可以考虑调整为腾讯云的pypi下载源,调整方式:mkdir ~/.pip/echo "extra-index-url = https://mirrors.cloud.tencent.com/pypi/simple" >> ~/.pip/pip.conf#运行爬虫项目还需导入缺失的爬虫模块pip install Flaskpip install requestspip install pandaspip3 install PyExecJS

查询端口占用情况

123lsof -i:端口号kill -9 pid

安装nps

123456789101112131415161718192021222324252627把安装包拖入解压tar -xslf ./nps install修改配置文件cd /etc/nps/conf配置文件在安装目录的不生效,上面的路径才生效如果发现运行不成功可以通过nps进行调试记得把所有端口都开给它记得有8080 802444380nps start

启动GitLab

1docker 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环境

1234567891011121314151617181920wget https://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.xztar xf node-v16.19.1-linux-x64.tar.xzmkdir /usr/local/lib/nodemv node-v16.19.1-linux-x64 /usr/local/lib/node/nodejssudo vim /etc/profileexport NODEJS_HOME=/usr/local/lib/node/nodejsexport PATH=$NODEJS_HOME/bin:$PATHsource /etc/profilenode -vnpm -v

下载WordPress建站

1234docker pull wordpressdocker run --name wordpress --link mysql:mysql -p 80:80 -d\ -v wordpress:/var/www/html wordpress

windows的shell文件转化到linux环境的

123yum install dos2unix# 像下面的这个一样转化就好了dos2unix install_docker.sh

常用运维命令大全

12345678910# 查看上一个命令的执行结果,如果是0则为成功。可用于shell编程echo $?# 查看之前服务器运行的命令 可如history | grep 'docker run'查看之前运行的docker run的参数history | grep 'keyword'# 寻找按照文件名寻找文件 find 【文件夹路径】 -name "【文件名】"find / -name "keyword"# 列出服务器参数lscpuvim删除全部ggdG

相关文章