作者:石臻臻, CSDN博客之星Top5、Kafka Contributor 、nacos Contributor、华为云 MVP ,腾讯云TVP, 滴滴Kafka技术专家 、KnowStreaming PMC)。
KnowStreaming 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,带你一起你参与开源!。
1前言:
虽然自己是一个开发,但是并不能止于开发的技术,项目发布需要部署到到Linux 服务器上, 所以对于开发人员来说,掌握一定的运维技能是必须的, 之前也有过帮人搭建网站的一些经验,运维什么的也是自己一并来,所以专门写一篇文章来记录一下相关,方便回头查阅!
初始化Centos 7 环境
1、查看系统发行版: cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) ; 用的是 Centos 7.5 的;
2、基础环境初始化
#基础环境环境初始化 #author: yum -y update #install wget -y 对所有回答都 yes yum -y install wget # 创建 存放软件源文件 和 安装目录 mkdir /usr/install /usr/install/src /usr/install/destination ###安装 make yum -y install gcc automake autoconf libtool make ####安装tcl #RUN yum install -y tcl wget -P /usr/install/src http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf /usr/install/src/tcl8.6.1-src.tar.gz -C /usr/install/destination/ cd /usr/install/destination/tcl8.6.1/unix/ && ./configure && make && make install #安装iptables-services yum -y install iptables-services
脚本主要是: ① 安装 wget、创建/usr/install/src /usr/install/destination 文件夹; /usr/install/src 专门存放下载的源文件 /usr/install/destination 存放安装好之后的文件 ② 安装gcc编译环境,这个后面很多安装都需要用到这个环境; ③ 安装 tcl 脚本执行环境,后面例如 redis安装的时候需要使用到
3、安装 Java环境
#安装java #author: #下载jdk 如何向换其他版本的 jdk 只有改一下地址就好了 这里我从文件夹中获取 #wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.rpm cp jdk-8u144-linux-x64.rpm /usr/install/src/ #安装jdk的rpm包 rpm -ivh /usr/install/src/jdk-8u144-linux-x64.rpm
4、安装 Maven
#安装mvn wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo yum -y install apache-maven
5、安装Mysql
#https://blog.csdn.net/SmallTankPy/article/details/75451645 yum install wget -y yum install libaio -y wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum localinstall mysql-community-release-el7-5.noarch.rpm -y yum install mysql-community-server -y
PS:如果需要换版本,自己修改一下对应的版本就好了
6、安装了Mysql之后 还要做一些安全设置;设置账号密码什么的
#https://blog.csdn.net/SmallTankPy/article/details/75451645 #mysql 安全设置 设置root密码 # 启动mysql systemctl start mysqld #运行安全设置 mysql_secure_installation
PS:如果只是需要使用到 mysql附带的小工具例如mysqldump,那么不需要这一步;不需要启动数据库
7、安装 redis
#author: #安装redis ####################################### ####运行redis # redis-server /etc/redis/6379.conf ### 客户端连接 # redis-cli ## redis service 服务关闭 # redis-cli shutdown ####日志地址 # /var/redis/log/ ###开放端口### #或者打开配置文件/etc/sysconfig/iptables,加入如下语句,然后重启防火墙: #-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT # 然后重启防火墙 systemctl restart iptables.service ####################################### ### redis安装完成 用 redis-server /etc/redis/6379.conf 启动 #安装 redis wget -P下载到特定文件夹 wget -P /usr/install/src http://download.redis.io/redis-stable.tar.gz tar -xvzf /usr/install/src/redis-stable.tar.gz -C /usr/install/destination/ ##编译 redis cd /usr/install/destination/redis-stable && make distclean && make && make test #redis的一些文件夹重新整理一下 cp /usr/install/destination/redis-stable/src/redis-server /usr/local/bin/ cp /usr/install/destination/redis-stable/src/redis-cli /usr/local/bin/ mkdir /etc/redis mkdir /var/redis mkdir /var/redis/log mkdir /var/redis/run mkdir /var/redis/6379 ###在redis解压根目录中找到配置文件模板,复制到如下位置。 cp /usr/install/destination/redis-stable/redis.conf /etc/redis/6379.conf ###修改conf文件 ###daemonize yes 改成守护线程 ###pidfile /var/redis/run/redis_6379.pid ###logfile /var/redis/log/redis_6379.log ###dir /var/redis/6379 sed -i 's/daemonize no/daemonize yes/g' /etc/redis/6379.conf sed -i 's/pidfile \/var\/run\/redis_6379.pid/pidfile \/var\/redis\/run\/redis_6379.pid/g' /etc/redis/6379.conf sed -i 's/logfile ""/logfile \/var\/redis\/log\/redis_6379.log/g' /etc/redis/6379.conf
脚本说明: ① 配置文件路径 /etc/redis/6379.conf ②安装完了之后记得要设置密码 vim /etc/redis/6379.conf ;找到requirepass 后面接上你设置的密码 ③脚本已经设置 daemonize yes;启动redis自动用守护线程启动 ④启动redis: redis-server /etc/redis/6379.conf ⑤bind参数: redis 配置默认是 127.0.0.1 表示只接受本机访问redis服务器;如果需要配置成外网访问将bind注释掉就行了;外网访问redis,但是生成环境一定要做好限制,防火墙什么的也要限制好,redis暴露端口很容易成为别人攻击你服务器的入口;
8、安装Nginx
cp nginx.repo /etc/yum.repos.d/nginx.repo yum install nginx -y
这个就是加上 nginx的数据源 再用yum来安装 ,在/etc/yum/repos.d/ 下面新建一个 nginx.repo 源文件
nginx.repo 文件
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
① nginx 的配置文件在 /etc/nginx/nginx.conf ②启动nginx : systemctl start nginx 或者 nginx -c /etc/nginx/nginx.conf ③修改配置后重新加载生效:nginx -s reload
④测试nginx配置文件是否正确: nginx -t -c /etc/nginx/nginx.conf ⑤快速停止Nginx: nginx -s stop
⑥完整有序的停止nginx:nginx -s quit
9、创建一个 publish账号(自己修改账号密码)
#安装完了其他之后 最后执行这个 #chmod 744 /etc/sudoers echo "新增用户publish2,请设置密码" adduser publish2 passwd publish2 #redis 创建的文件夹 (-R递归 -v 显示执行情况 ) chown -R -v publish /var/redis/ #安装文件夹 chown -R -v publish /usr/install/
这个做的是创建一个 publish2账号,并且将 /var/redis/ 和 /usr/install/ 的所有权给 publish2
以上: 基本上开发者需要用的的都已经安装了,基本上我每次新搭建环境 都是用我写好的脚步一键执行;安装完这些基本上不会超过半个小时
提供脚步打包好的地址: 有需要可以直接上传的目标服务器上 按需 执行安装就行了
PS : 执行的注意使用 root账号 除了 initBase.sh 必须(第一次)执行之外,其他的按需要执行即可