目录
- 1. 添加阿里云的源
- 2. 安装常用软件包
- 3. docker 安装与配置
- 4. 防火墙管理
- 5. 系统信息
- 6. 安装 PostgreSQL 13 并添加 PostGis 3.1
- 7. 用户和组
- 8. jdk 安装与配置
- 9. redis 安装与配置
- 10. 花生壳安装与配置
- 11. podman 安装与配置
- 12. nginx 安装与配置
- 13. Samba服务安装与配置 (nfs-server)
- 14. 建立交换分区
- 15. gitlab-runner 安装与配置
- 16.网卡管理
- 17. gradle 安装与配置
- 18. 时间同步服务
- 19. rabbitmq 安装与配置
- 20. MAVEN 安装与配置
- 21. 命令行录屏软件
- 22. nodejs 安装与配置
- 23. 工具命令
- 24. elasticsearch 安装与配置
- 25. 进程管理
- 26. 文件系统管理
- 27. git 初始化本地仓库
- 28. Nacos 安装与配置
- 29. ruby 安装与配置
- 30. Go 语言的安装与配置
- 31. MongoDB 安装与配置
- 32. 添加中文字符集
1. 添加阿里云的源
rm -rfv /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
t i p : \color{red}{tip:} tip: 如果 yum 的源不可用
# 将以下三个yum源文件中的 mirrorlist行注释掉,baseurl行打开,且将访问主机修改为腾讯云地址即可
# CentOS-Linux-AppStream.repo
# CentOS-Linux-BaseOS.repo
# CentOS-Linux-Extras.repo
# 具体操作如下:
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=http://mirrors.cloud.tencent.com/$contentdir/$releasever/AppStream/$basearch/os/
# 更新缓存
yum clean all
yum makecache
2. 安装常用软件包
# 编辑器 命令自动补全 网络工具
yum install vim bash-completion net-tools gcc -y
yum -y install NetworkManager*
3. docker 安装与配置
yum -y erase podman buildah
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
p r o b l e m : \color{red}{problem:} problem: 如果安装过程中出现这个问题
Error:
Problem: package docker-ce-3:20.10.0-3.el7.x86_64 requires containerd.io >= 1.4.1, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.4.3-3.1.el7.x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
s o l v e : \color{green}{solve:} solve: 根据所用系统版本,前往https://download.docker.com/linux/centos网站获取相应的软件包。
yum install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el8.x86_64.rpm
t i p : \color{red}{tip:} tip: 添加 aliyundocker 仓库加速器
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://fl791z1h.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
4. 防火墙管理
# 查看防火墙的状态
systemctl status firewalld.service
# 开启防火墙、
systemctl start firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 禁用防火墙
systemctl disable firewalld.service
# 查看防火墙状态
firewall-cmd --state
# 查看所有打开的端口
firewall-cmd --list-ports
# 添加端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
# 移除端口
firewall-cmd --zone=public --remove-port=5002/tcp --permanent
# 重新加载
firewall-cmd --reload
5. 系统信息
# 查看系统版本信息
cat /etc/centos-release
# 查看centos内核架构
arch
6. 安装 PostgreSQL 13 并添加 PostGis 3.1
# 安装PostgreSQL的RPM仓库
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 禁用postgresql模块
dnf -qy module disable postgresql
# 安装 EPEL 的RPM仓库
dnf -y install epel-release
# 启用 PowerTools 仓库
dnf -y config-manager --set-enabled PowerTools
# 安装 PostGis
dnf -y install postgis31_13
# 初始化数据库
/usr/pgsql-13/bin/postgresql-13-setup initdb
# 开机自启动
systemctl enable postgresql-13.service
# 开启服务
systemctl start postgresql-13.service
# 设置数据库实例访问策略
vim /var/lib/pgsql/13/data/pg_hba.conf
> host all all 0.0.0.0/0 密码策略
# 设置数据库的监听地址和端口
vim /var/lib/pgsql/13/data/postgresql.conf
> listen_addresses = '*'
> port = 10009
# 创建 postgis
CREATE EXTENSION postgis;
# 修改用户密码
ALTER USER postgres WITH PASSWORD '123abc@gis';
# 查看PostgreSQL server版本
SELECT version();
# 查看PostGIS版本
SELECT PostGIS_full_version();
# 数据库备份
pg_dump –h 127.0.0.1 -p 5432 -U postgres -c –f dbname.sql dbname
# 数据库恢复
psql –h 127.0.0.1 -p 5432 -U postgres –f db_bak.sql
#添加扩展
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_raster;
CREATE EXTENSION postgis_sfcgal;
CREATE EXTENSION fuzzystrmatch; --needed for postgis_tiger_geocoder
--optional used by postgis_tiger_geocoder, or can be used standalone
CREATE EXTENSION address_standardizer;
CREATE EXTENSION address_standardizer_data_us;
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION postgis_topology;
7. 用户和组
# 永久性删除用户账号
userdel username
# 永久性删除组
groupdel groupname
8. jdk 安装与配置
# 移除 open jdk
yum -y remove java-1.7.0-openjdk*
# 安装jdk
rpm -ivh jdk.rpm
# 配置环境变量
JAVA_HOME=/usr/java/jdk1.8.0_291-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
9. redis 安装与配置
# 安装gcc依赖
yum install gcc
# 解压redis
tar -zxvf redis包
# 编译并安装
make
make install PREFIX=/usr/redis
# 启动服务
# 复制配置文件
cp /usr/redis/redis.conf /usr/redis/bin/
> daemonize yes
./redis-server redis.conf
10. 花生壳安装与配置
# 安装花生壳客户端
rpm -ivh phddns.rpm
# 获取sn 码
11. podman 安装与配置
# 换阿里源
sudo vim /etc/containers/registries.conf
> registries = ['docker.io']
> prefix = 'docker.io'
> location = '阿里用户id.mirror.aliyuncs.com'
# 解决podman和docker冲突
yum erase podman buildah
12. nginx 安装与配置
#gcc安装,nginx源码编译需要
yum install gcc-c++
#PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel
#zlib安装,nginx 使用zlib对http包的内容进行gzip
yum install -y zlib zlib-devel
#OpenSSL 安装,强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)
yum install -y openssl openssl-devel
#下载版本号可根据目前官网最新稳定版自行调整 http://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.20.2.tar.gz
#根目录使用ls命令可以看到下载的nginx压缩包,然后解压
tar -zxvf nginx-1.20.2.tar.gz
#解压后进入目录
cd nginx-1.20.2
#使用默认配置
./configure
#编译安装
make
make install
#查找安装路径,默认都是这个路径 nginx: /usr/local/nginx
whereis nginx
# 配置环境变量
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
#启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx #启动
./nginx -s stop #停止,直接查找nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit #退出停止,等待nginx进程处理完任务再进行停止
./nginx -s reload #重新加载配置文件,修改nginx.conf后使用该命令,新配置即可生效
#重启nginx,建议先停止,再启动
./nginx -s stop
./nginx
#查看nginx进程,如下返回,即为成功
ps aux|grep nginx
#支持https
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module
#支持静态压缩
./configure --prefix=/usr/local/nginx --with-http_gzip_static_module
make
cp ./objs/nginx /usr/local/nginx/sbin/ #注意 正式环境 数据备份
#文件服务器配置 打开文件索引
location / {
root D:/data/upload/;
autoindex on;
}
13. Samba服务安装与配置 (nfs-server)
#安装samba应用
yum -y install samba samba-client
#启动samba应用
systemctl start smb nmb
#查看samba服务进程
ps -ef | grep -E 'smb|nmb'
#查看samba应用服务端口
netstat -tunlp | grep -E 'smbd|nmbd'
#配置共享文件夹
[shared]
# 共享文件目录描述
comment = Shared Directories
# 共享文件目录
path = /storage/shared/
# 是否允许guest访问
public = no
# 指定管理用户
admin users = admin
# 可访问的用户组、用户
valid users = @admin
# 是否浏览权限
browseable = yes
# 是否可写权限
writable = yes
# 文件权限设置
create mask = 0777
directory mask = 0777
force directory mode = 0777
force create mode = 0777
#重启samba服务
systemctl restart smb.service
#出现问题 (NT_STATUS_ACCESS_DENIED listing \*)
setenforce 0 # 关闭SELinux
systemctl stop firewall.service # 关闭防火墙
14. 建立交换分区
# 查看swap分区是否开启
cat /proc/swaps
# 启用swap功能
dd if=/dev/zero of=/swap_file bs=1M count=4096
# 建立swap
mkswap /swap_file
# 设置开机自动挂载
echo "/data/swap swap swap defaults 0 0" >> /etc/fstab
15. gitlab-runner 安装与配置
# 添加 gitlab runner 源
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
# 安装
yum install gitlab-runner
# 注册
gitlab-runner register
# 启动
gitlab-runner start
# 卸载
gitlab-runner uninstall
# 设置执行用户为 root
gitlab-runner install --working-directory /home/gitlab-runner --user root
# 服务重启
service gitlab-runner restart
# 服务状态
gitlab-runner status
# 服务重启
gitlab-runner run
# 查看 已注册的 gitlab-runner
gitlab-runner list
# 移除 gitlab-runner
gitlab-runner verify --delete
# 清理文件
rm -rf /etc/gitlab-runner
rm -rf /usr/local/bin/gitlab-runner
rm -rf /usr/bin/gitlab-runner
rm -rf /etc/sudoers.d/gitlab-runner
# 删除用户
userdel -r gitlab-runner
16.网卡管理
# 载入配置文件
nmcli c reload
# 重启网卡
nmcli c up ens160
17. gradle 安装与配置
wget https://services.gradle.org/distributions/gradle-6.3-bin.zip -P /tmp
sudo unzip -d /opt/gradle /tmp/gradle-*.zip
sudo nano /etc/profile.d/gradle.sh
export GRADLE_HOME=/opt/gradle/gradle-6.3
export PATH=${GRADLE_HOME}/bin:${PATH}
source /etc/profile.d/gradle.sh
gradle -v
18. 时间同步服务
# 开启网络时间同步
timedatectl set-ntp true
19. rabbitmq 安装与配置
# 使用 PackageCloud Yum 存储库安装
## Uses a PackageCloud-provided Yum repository setup script.
## Always verify what is downloaded before piping it to a privileged shell!
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
## primary RabbitMQ signing key
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
## modern Erlang repository
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
## RabbitMQ server repository
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
## 为 RabbitMQ 和 Modern Erlang 添加 Yum 存储库
vim /etc/yum.repos.d/rabbitmq.repo
rabbitmq.repo
# In /etc/yum.repos.d/rabbitmq.repo
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
## 使用 Yum 安装软件包 更新 Yum 包元数据:
yum update -y
yum -q makecache -y --disablerepo='*' --enablerepo='rabbitmq_erlang' --enablerepo='rabbitmq_server'
## install these dependencies from standard OS repositories
yum install socat logrotate -y
## install RabbitMQ and zero dependency Erlang from the above repositories,
## ignoring any versions provided by the standard repositories
yum install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server -y
chkconfig rabbitmq-server on
## 如果系统上未安装服务工具,则可以使用yum进行安装
yum -y install initscripts
## 管理服务
# stop the local node
sudo service rabbitmq-server stop
# start it back
sudo service rabbitmq-server start
# check on service status as observed by service manager
sudo service rabbitmq-server status
## 开启管理页面插件
rabbitmq-plugins enable rabbitmq_management
## 添加用户 远程访问
# 添加 admin 用户并设置密码
rabbitmqctl add_user admin Xebc,wlkq
# 添加 admin 用户为administrator角色
rabbitmqctl set_user_tags admin administrator
# 设置 admin 用户的权限,指定允许访问的vhost以及write/read
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 查看vhost(/)允许哪些用户访问
rabbitmqctl list_permissions -p /
# 查看用户列表
rabbitmqctl list_users
20. MAVEN 安装与配置
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.zip
unzip -d /usr/maven apache-maven-3.8.4-bin.zip
export MAVEN_HOME=/usr/maven/apache-maven-3.8.4
export PATH=$PATH:$MAVEN_HOME/bin
21. 命令行录屏软件
# 安装 asciinema
sudo dnf install asciinema
22. nodejs 安装与配置
# 获取 nodejs
wget https://npmmirror.com/mirrors/node/v14.18.3/node-v14.18.3-linux-x64.tar.gz
# 安装 nodejs
tar --strip-components 1 -xzvf node-v14.18.3-linux-x64.tar.gz -C /usr/local
# 配置 淘宝镜像
npm config set registry=https://registry.npm.taobao.org
# 全局安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
23. 工具命令
# sed 字符串替换
sed -i "s/scheduletasks-1.1.0.jar/scheduletasks-2.0.0.jar/g" schedule_deploy.sh
24. elasticsearch 安装与配置
java -version
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.tar.gz
tar -xvf elasticsearch-6.0.1.tar.gz
cd elasticsearch-6.0.1/bin
./elasticsearch
./elasticsearch -Des.insecure.allow.root=true
# 以普通用户运行
groupadd elsearch
useradd elsearch -g elsearch -p elsearch
chown -R elsearch:elsearch /elasticsearch/elasticsearch-5.2.0
# su elsearch
cd elasticsearch-5.2.0/bin
./elasticsearch
# 后台运行
./elasticsearch -d
# 以 root 用户运行
# 每一次 启动都需要运行
sysctl -w vm.max_map_count=262144
sysctl -a|grep vm.max_map_count
25. 进程管理
# 》》》 查看进程 《《《
# 以简单的列表形式显示出进程信息
ps aux
# 以长格式显示系统的进程信息
ps -elf
# 类似于 windows 系统中的任务管理器
top
# 可以根据进程的名字、运行该进程的用户、进程所在的终端查询特定进程的 PID
pgrep -l -U root
# 输出各进程的树形结构
pstree -aup
# 》》》 控制进程 《《《
# 后台运行
cp x y &
# 查看正在进行的后台运行
jobs -l
# 挂起当前运行的进程
ctrl + z
# 恢复进程
fg
# 结束进程
kill -9 PID
# 通过进程名终结多个进程
killall -9 vim
# 结束用户的所有进程
pkill -9 -U root
26. 文件系统管理
# 复制一个文件到多个目录
# -n 1 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。
echo dir1 dir2 | xargs -n 1 cp -v test.sh
# 将文件或文件夹授权给用户
sudo chown `whoami` dir
# 查看文件内容
# 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
tail -f filename
# 创建目录 如果上一级目录不存在,自动创建
mkdir -p /etc/docker
27. git 初始化本地仓库
# 切换到项目路径
cd projectDir
# 初始化本地仓库
git init
# 添加远程仓库地址
git remote add origin Remote_repository_address
# 添加文件
git add .
# 备注信息
git commit -m "项目初始化"
# 先拉代码,获取远程分支
git pull
# 切换到自己的分支
git checkout gaojianwei_dev
# 合并主分支到自己的分支
git merge master --allow-unrelated-histories
# 推送代码
git push
28. Nacos 安装与配置
git clone https://gitee.com/mirrors/Nacos.git
cd Nacos
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
cd distribution/target/nacos-server-$version/nacos/bin
sh startup.sh -m standalone
29. ruby 安装与配置
# 需要准备 redis-trib.rb 的运行环境
wget https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.1.tar.gz
yum -y install zlib-devel
tar xvf ruby-3.1.1.tar.gz
cd ruby-3.1.1/
./configure -prefix=/usr/local/ruby
make
make install
cd /usr/local/ruby/
cp bin/ruby /usr/local/bin
cp bin/gem /usr/local/bin
# 安装redis-trib依赖
wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem
30. Go 语言的安装与配置
# 安装包下载地址 https://golang.org/dl/
tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
# 添加环境变量
echo "export PATH=\$PATH:/usr/local/go/bin" >> /etc/profile.d/go.sh
# 使环境变量生效
source /etc/profile.d/go.sh
31. MongoDB 安装与配置
# MongoDB 下载地址 https://www.mongodb.com/try/download
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.6.tgz
# 解压
tar -C /usr/local -xzf mongodb-linux-x86_64-rhel80-5.0.6.tgz
# 配置环境变量
echo "export PATH=\$PATH:/usr/local/mongodb5/bin" >> /etc/profile.d/mongodb.sh
# 使环境变量生效
source /etc/profile.d/mongodb.sh
# 创建数据库目录
# /var 经常变化的(variable)文件,诸如日志或数据库等
# 数据目录
mkdir /var/lib/mongo
# 日志目录
mkdir /var/log/mongodb
# 启动 mongodb 服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
# 根据配置文件启动
mongod -f /usr/local/mongodb5/conf/mongodb.config --fork
# 检查是否启动成功
tail -10f /var/log/mongodb/mongod.log
# 停止 mongodb 服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --shutdown
# 数据库存在就切换,不存在就创建
use databaseName
# 查看当前数据库
db
# 查看所有数据库
show dbs
# 根据数据库创建用户
db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "readWrite", db: "hemp_cannabis_business_times" } ]})
32. 添加中文字符集
# 查看当前字符集
locale
# 看看有没有zh_CN.utf8
locale -a |grep CN
# 没有就安装
yum install -y langpacks-zh_CN
#安装后再次确认配置
vi /etc/locale.conf
LANG="zh_CN.UTF-8"
# 修改后重启