服务器环境搭建方法记录

jdk安装

1.在/usr/local/下创建java文件夹

mkdir java

2.将jdk-8u111-linux-x64.tar.gz移动到java文件夹里

cp jdk-8u111-linux-x64.tar.gz ../java/

3.解压jdk到java

tar -zxvf jdk-8u111-linux-x64.tar.gz

4.安装完毕建立链接以节省目录长度

ln -s /usr/local/java/jdk1.8.0_111/ /usr/jdk

5.编辑配置文件,配置环境变量

vim /etc/profile

添加如下内容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

6.执行命令

source /etc/profile

7.查看安装情况

java -version


java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

安装完毕

nginx安装

1.安装openssl

yum -y install openssl* 

2.安装pcre

#查看是否已经安装了pcre
rpm -qa | grep pcre 
#如果存在,则删除已经安装的pcre(最好不要用系统自带的pcre,
#因为后面会报错
#./configure: error: the HTTP rewrite module requires the PCRE library.)
rpm -e --nodeps pcre-7.8-7.el6.x86_64
#然后安装pcre
yum install pcre* 

3.解压nginx

#路径位置/usr/local/src/nginx-1.11.5.tar.gz
tar -zxvf nginx-1.11.5.tar.gz
#将解压后的文件移动到上一层
mv nginx-1.11.5 ../nginx

4.执行安装前的检查配置

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre

5.执行完毕,如果没有error,则可以打印出:

...
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE library ... found
checking for PCRE JIT support ... not found
checking for OpenSSL library ... found
checking for zlib library ... found
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/home/nginx-1.11.5"
  nginx binary file: "/home/nginx-1.11.5/sbin/nginx"
  nginx modules path: "/home/nginx-1.11.5/modules"
  nginx configuration prefix: "/home/nginx-1.11.5/conf"
  nginx configuration file: "/home/nginx-1.11.5/conf/nginx.conf"
  nginx pid file: "/home/nginx-1.11.5/logs/nginx.pid"
  nginx error log file: "/home/nginx-1.11.5/logs/error.log"
  nginx http access log file: "/home/nginx-1.11.5/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

6.然后编译

make

执行结束,如下

...
objs/src/http/modules/ngx_http_uwsgi_module.o \
    objs/src/http/modules/ngx_http_scgi_module.o \
    objs/src/http/modules/ngx_http_memcached_module.o \
    objs/src/http/modules/ngx_http_empty_gif_module.o \
    objs/src/http/modules/ngx_http_browser_module.o \
    objs/src/http/modules/ngx_http_upstream_hash_module.o \
    objs/src/http/modules/ngx_http_upstream_ip_hash_module.o \
    objs/src/http/modules/ngx_http_upstream_least_conn_module.o \
    objs/src/http/modules/ngx_http_upstream_keepalive_module.o \
    objs/src/http/modules/ngx_http_upstream_zone_module.o \
    objs/src/http/modules/ngx_http_stub_status_module.o \
    objs/ngx_modules.o \
    -ldl -lpthread -lcrypt -lpcre -lssl -lcrypto -ldl -lz \
    -Wl,-E
sed -e "s|%%PREFIX%%|/home/nginx-1.11.5|" \
        -e "s|%%PID_PATH%%|/home/nginx-1.11.5/logs/nginx.pid|" \
        -e "s|%%CONF_PATH%%|/home/nginx-1.11.5/conf/nginx.conf|" \
        -e "s|%%ERROR_LOG_PATH%%|/home/nginx-1.11.5/logs/error.log|" \
        < man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/local/nginx'

然后执行安装命令

make install

执行结束,如下:

...
cp conf/uwsgi_params \
        '/home/nginx-1.11.5/conf/uwsgi_params.default'
test -f '/home/nginx-1.11.5/conf/scgi_params' \
        || cp conf/scgi_params '/home/nginx-1.11.5/conf'
cp conf/scgi_params \
        '/home/nginx-1.11.5/conf/scgi_params.default'
test -f '/home/nginx-1.11.5/conf/nginx.conf' \
        || cp conf/nginx.conf '/home/nginx-1.11.5/conf/nginx.conf'
cp conf/nginx.conf '/home/nginx-1.11.5/conf/nginx.conf.default'
test -d '/home/nginx-1.11.5/logs' \
        || mkdir -p '/home/nginx-1.11.5/logs'
test -d '/home/nginx-1.11.5/logs' \
        || mkdir -p '/home/nginx-1.11.5/logs'
test -d '/home/nginx-1.11.5/html' \
        || cp -R html '/home/nginx-1.11.5'
test -d '/home/nginx-1.11.5/logs' \
        || mkdir -p '/home/nginx-1.11.5/logs'
make[1]: Leaving directory `/usr/local/nginx'
redis安装

1.解压redis-3.2.5.tar

tar -xvf redis-3.2.5.tar

#移动到/usr/local/下
mv redis-3.2.5 ../redis

2.检查 gcc 是否已安装. 直接命令:gcc 看是否已经安装.

yum install gcc

3.redis目录编译

make

4.make test报错

make[1]: Entering directory `/usr/local/redis/src'
You need tcl 8.5 or newer in order to run the Redis test

解决办法:

yum install -y tcl
kafka配置
单台服务器启动一个broker配置

1.下载kafka_2.11-0.10.1.0.tar包

2.解压到目录/usr/local/kafka

3.修改config/server.properties

...
#单机一台broker
broker.id=0
#服务器内网Ip
host.name=xxx.xxx.xxx.xxx 
...

4.启动

#先启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &
#然后启动kafka
nohup bin/kafka-server-start.sh config/server.properties >/home/start-kafka.nohup 2>&1 &

5.创建topic

bin/kafka-topics.sh --create --zookeeper [本机内网ip]:2181 --replication-factor 1 --partitions 1 --topic [topic名称]

#replication factor 控制消息保存在几个broker(服务器)上,一般情况下等于broker的个数。
#partitions :分区数,控制topic将分片成多少个log。可以显示指定,如果不指定则会使用broker(server.properties)中的num.partitions配置的数量 
单台服务器启动多个broker配置

例举一台服务器创建3个broker

1-2步同上

3.创建3个server.properties,如:server.properties、server1.properties、server2.properties

server.properties:(默认端口)

...
broker.id=0
host.name=[内网ip]
...

server1.properties:(9093端口)

...
broker.id=1
host.name=[内网ip]
port=9093
...

server2.properties:(9094端口)

...
broker.id=2
host.name=[内网ip]
port=9094
...

4.启动

#先启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties &
#然后启动kafka
nohup bin/kafka-server-start.sh config/server-1.properties >/home/start-kafka-1.nohup 2>&1 &
nohup bin/kafka-server-start.sh config/server-2.properties >/home/start-kafka-2.nohup 2>&1 &
nohup bin/kafka-server-start.sh config/server.properties >/home/start-kafka.nohup 2>&1 &

5.创建topic

bin/kafka-topics.sh --create --zookeeper [服务器内网ip]:2181 --replication-factor 3 --partitions 1 --topic [topic名称]

#replication factor 控制消息保存在几个broker(服务器)上,一般情况下等于broker的个数。
#partitions :分区数,控制topic将分片成多少个log。可以显示指定,如果不指定则会使用broker(server.properties)中的num.partitions配置的数量 
kafka多节点多broker集群

举例3台

每台都需要装zookeeper和kafka

1.zookeeper配置

节点1 conf/zoo.cfg :

...
#自己设路径
dataDir=/work/kafka/zkpdata
#自己设路径
dataLogDir=/work/kafka/zkplog
server.1=[节点1内网ip地址]:2888:3888
server.2=[节点2内网ip地址]:2888:3888
server.3=[节点3内网ip地址]:2888:3888
...

修改/work/kafka/zkpdata/myid值为1

节点2 conf/zoo.cfg 同上

修改/work/kafka/zkpdata/myid值为2

节点3 conf/zoo.cfg 同上

修改/work/kafka/zkpdata/myid值为3

2.kafka配置

1.节点1 server.properties:

...
broker.id=1
host.name=[内网ip]
...
zookeeper.connect=[节点1内网ip]:2181,[节点2内网ip]:2181,[节点3内网ip]:2181

zookeeper.connection.timeout.ms=6000
...

2.节点2 server.properties:

...
broker.id=2
host.name=[内网ip]
...
zookeeper.connect=[节点1内网ip]:2181,[节点2内网ip]:2181,[节点3内网ip]:2181

zookeeper.connection.timeout.ms=6000
...

3.节点3 server.properties:

...
broker.id=3
host.name=[内网ip]
...
zookeeper.connect=[节点1内网ip]:2181,[节点2内网ip]:2181,[节点3内网ip]:2181

zookeeper.connection.timeout.ms=6000
...

4.创建topic

bin/kafka-topics.sh --create --zookeeper [节点1内网ip]:2181,[节点2内网ip]:2181,[节点3内网ip]:2181 --replication-factor 3 --partitions 1 --topic [topic名称]

#replication factor 控制消息保存在几个broker(服务器)上,一般情况下等于broker的个数。
#partitions :分区数,控制topic将分片成多少个log。可以显示指定,如果不指定则会使用broker(server.properties)中的num.partitions配置的数量 

5.启动

三台依次启动

#先启动zookeeper
bin/zkServer.sh start conf/zoo.cfg &
#然后启动kafka
bin/kafka-server-start.sh config/server.properties >/work/start-kafka.nohup 2>&1 &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值