您的位置:首页 > 其它

常用环境安装

2016-03-26 21:08 423 查看
node编译安装
下载地址:http://nodejs.org/dist/v0.12.2/node-v0.12.2.tar.gz

编译安装:
./configure --prefix=/usr/local/nodejs && make &&make install
设置系统环境:
echo "#set nodejs environment\nexport PATH=\$PATH:/usr/local/nodejs/bin" >>/etc/profile && source /etc/profile


2. nginx编译安装
下载地址:http://nginx.org/download/nginx-1.9.11.tar.gz
编译安装:
yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel opensslopenssl-devel pcre-devel gd-*

groupadd-r nginx && useradd -s /sbin/nologin -g nginx -r nginx

./configure--prefix=/usr/local/nginx --lock-path=/usr/local/nginx/nginx.lock --user=nginx--group=nginx --with-http_ssl_module --with-http_flv_module--with-http_stub_status_module --with-http_gzip_static_module--http-client-body-temp-path=/usr/local/nginx/client/--http-proxy-temp-path=/usr/local/nginx/proxy/--http-fastcgi-temp-path=/usr/local/nginx/fcgi/--http-uwsgi-temp-path=/usr/local/nginx/uwsgi--http-scgi-temp-path=/usr/local/nginx/scgi --with-pcre --with-file-aio--with-http_image_filter_module && make && make install
设置启动脚本
vim /etc/init.d/nginx chmod +x /etc/init.d/nginx  chkconfig nginx on
#!/bin/bash
#
# Startup script for Nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
sleep 1
start
}

reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac


3. mysql编译安装
下载地址:http://down1.chinaunix.net/distfiles/cmake-2.8.10.2.tar.gz
http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.28.tar.gz
cmake编译安装:
./configure --prefix=/usr/local/cmake && make && make install
echo "#set cmake environment\nexport PATH=\$PATH:/usr/local/cmake/bin" >> /etc/profile && source /etc/profile
mysql编译安装:
groupadd mysql && useradd -r -g mysql -s /etc/nologin mysql

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/home/mysql/var/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci && make && make install
echo "#set mysql environment\nexport PATH=\$PATH:/usr/sbin/:/usr/local/mysql/bin" >> /etc/profile && source /etc/profile
mysql数据库初始化:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql --default-storage-engine=MyISAM
mysql数据库配置文件:
[client]
default-character-set=utf8
#auto-rehash
socket = /home/mysql/var/mysql.sock
[mysqld]
port = 3306
slave-skip-errors=1022,1032,1062
skip-name-resolve
basedir = /usr/local/mysql
datadir = /home/mysql/data
socket = /home/mysql/var/mysql.sock
character-set-server=utf8
collation-server=utf8_general_ci
back_log = 300
max_connections = 5000
max_connect_errors = 30
table-definition-cache=2000
table-open-cache=4000
max_allowed_packet = 32M
max_heap_table_size = 128M
sort_buffer_size = 16M
join_buffer_size = 16M
#thread_cache_size = 16
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 4M
ft_min_word_len = 8
default-storage-engine=MYISAM
thread_stack = 512K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 128M
slow-query-log
long_query_time = 6
#master config
# grant replication slave, replication client on *.* to 'root'@'192.168.1.131' identified by 'password';
# ref : http://blog.csdn.net/seteor/article/details/17261733 server-id = 1
log-bin=mysqlmaster-bin
#binlog-do-db = cad #指定需要进行主从的数据库
binlog_cache_size = 4M
binlog_format=mixed
expire_logs_days=3
#binlog-ignore-db=test #不记录test库的binlog
#replicate-ignore-db=test #不复制test库的binlog
sync_binlog=1
sql_mod=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#lower_case_table_names=1
#slave config
#server_id=2
#binlog-do-db = cad
#binlog-ignore-db=test #不记录test库的binlog
#replicate-ignore-db=test #不复制test库的binlog
#log-bin=mysql-bin
#binlog_cache_size = 1M
#binlog_format=mixed
#expire_logs_days=3
key_buffer_size = 128M
read_buffer_size = 8M
read_rnd_buffer_size = 64M
bulk_insert_buffer_size = 256M
myisam_sort_buffer_size = 256M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
skip-federated
#innodb config
innodb_additional_mem_pool_size = 64M
innodb_buffer_pool_size = 512M
innodb_data_file_path = ibdata1:10M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
[mysqldump]
quick
max_allowed_packet = 32M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M
[myisamchk]
key_buffer = 2048M
sort_buffer_size = 2048M
read_buffer = 32M
write_buffer = 32M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192


设置启动脚本:

cp /usr/local/src/mysql-5.6.28/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql && chkconfig mysql on


4. redis编译安装:
下载地址:
http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
http://download.redis.io/releases/redis-3.0.0.tar.gz
tcl编译安装:
tar xf /usr/local/src/tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/ && ./configure && make && make install
redis编译安装:
tar xf /usr/local/src/redis-3.0.0.tar.gz -C /usr/local/src
cd /usr/local/src/redis-3.0.0 && make test && make PREFIX=/usr/local/redis install
设置启动脚本:
vim /etc/init.d/redis-6380   chmod +x /etc/init.d/redis-6380 chkcofnig redis-6380 on
mkdir -p /home/redis/db && mkdir -p /home/redis/log && mkdir -p /home/redis/var
#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15
# description:  Redis for uzAll session
# processname: redis-server-6379

REDISPORT=6380
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/home/redis/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
设置配置文件:/etc/redis/6380.conf
daemonize yes
pidfile /home/redis/redis_6380.pid
port 6380
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel warning
logfile /home/redis/log/redis_6380.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /home/redis/data/6380
slave-serve-stale-data yes
slave-read-only yes
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

5. python2.7.8编译安装:
依赖环境:
yum -y install zlib zlib-devel openssl-devel gcc python-devel mysql mysql-devel mysql-connector-odbc
下载地址:
 https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz https://pypi.python.org/packages/source/s/setuptools/setuptools-20.6.7.tar.gz https://pypi.python.org/packages/source/p/pip/pip-8.1.1.tar.gz https://sourceforge.net/code-snapshots/git/m/my/mysql-python/code.git/mysql-python-code-947b1a2cb72eacb78c86a0a025a3f2110fe14caf.zip
python 2.7.8安装
cd /usr/local/src/ && tar xf Python-2.7.8.tgz && cd Python-2.7.8
./configure --prefix=/usr/local/python2.7.8 && make && make install
mv /usr/bin/python /usr/bin/python_old && ln -s /usr/local/python2.7.8/bin/python2.7 /usr/bin/python
sed 's/^#!\/usr\/bin\/python/#!\/usr\/bin\/python2.6' /usr/bin/yum

setuptools编译安装:

tar xf setuptools-20.6.7.tar.gz
cd setuptools-20.6.7
python setup.py build
python setup.py install

pip编译安装:

tar xf pip-8.1.1.tar.gz
cd pip-8.1.1
python setup.py build
python setup.py install

配置系统环境:

echo "#set python_pip environment
export PATH=$PATH:/usr/local/python2.7.8/bin" >> /etc/profile && source /etc/profile

MySQLdb编译安装:

  unzip -o mysql-python-code-947b1a2cb72eacb78c86a0a025a3f2110fe14caf.zip
  cd mysql-python-code-947b1a2cb72eacb78c86a0a025a3f2110fe14caf/MySQLdb
  >>vim site.cfg
=============================
threadsafe = False
mysql_config = /usr/bin/mysql_config
===================================
  python setup.py build
python setup.py install

simplejson安装
  pip install simplejson
6. rabbitmq编译安装:
1.Erlang环境配置:
wget -P /usr/local/src https://packages.erlang-solutions.com/erlang/esl-erlang-src/otp_src_17.1.tar.gz tar xf /usr/local/src/otp_src_17.1.tar.gz -C /usr/local/src
cd /usr/local/src/otp_src_17.1 && ./configure --prefix=/usr/local/erlang && make && make install
echo "#set erlang environment
export PATH=\$PATH:/usr/local/erlang/bin" >> /etc/profile && source /etc/profile
2.依赖包安装:
#单独一台机器部署需要安装python,所有服务都在一台机器上部署则不需要安装,只要在安装rabbitmq之前安装python2.7.8即可
yum -y install xmlto
yum -y install python-simplejson python
3.rabbitmq编译安装
wget -P /usr/local/src http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.1/rabbitmq-server-3.2.1.tar.gz tar xf rabbitmq-server-3.2.1.tar.gz -C /usr/local/src
cd /usr/local/src/rabbitmq-server-3.2.1 && make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/bin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install
echo "#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin" >> /etc/profile && source /etc/profile
4.启动脚本:
需要创建用户
groupadd -r rabbitmq && useradd -s /sbin/nologin -g rabbitmq -r rabbitmq
创建日志路径:
mkdir -p /usr/local/rabbitmq/var/log/
备注:日志存放位置/usr/local/rabbitmq/var/log/
pid文件存放/usr/local/rabbitmq/var/
chmod +x /etc/init.d/rabbit && chkconfig rabbit on
启动脚本:
#!/bin/sh
#
# rabbitmq-server RabbitMQ broker
#
# chkconfig: - 80 05
# description: Enable AMQP service provided by RabbitMQ
#
### BEGIN INIT INFO
# Provides:          rabbitmq-server
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Description:       RabbitMQ broker
# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO
# Source function library.
. /etc/init.d/functions
export HOME=/usr/local/rabbitmq
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/erlang/bin/
NAME=rabbitmq-server
DAEMON=/usr/local/rabbitmq/sbin/${NAME}
CONTROL=/usr/local/rabbitmq/sbin/rabbitmqctl
DESC=rabbitmq-server
USER=rabbitmq
ROTATE_SUFFIX=
INIT_LOG_DIR=/usr/local/rabbitmq/var/log/
PID_FILE=/usr/local/rabbitmq/var/rabbitmq.pid
START_PROG="daemon"
LOCK_FILE=/var/lock/subsys/$NAME
test -x $DAEMON || exit 0
test -x $CONTROL || exit 0
RETVAL=0
set -e
[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}
start_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
echo RabbitMQ is currently running
else
RETVAL=0
set +e
RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \
> "${INIT_LOG_DIR}/startup_log" \
2> "${INIT_LOG_DIR}/startup_err" \
0<&- &
$CONTROL wait $PID_FILE >/dev/null 2>&1
RETVAL=$?
set -e
case "$RETVAL" in
0)
echo SUCCESS
if [ -n "$LOCK_FILE" ] ; then
touch $LOCK_FILE
fi
;;
*)
echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
RETVAL=1
;;
esac
fi
}
stop_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
set +e
$CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
RETVAL=$?
set -e
if [ $RETVAL = 0 ] ; then
if [ -n "$LOCK_FILE" ] ; then
rm -f $LOCK_FILE
fi
else
echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
fi
else
echo RabbitMQ is not running
RETVAL=0
fi
}
status_rabbitmq() {
set +e
if [ "$1" != "quiet" ] ; then
$CONTROL status 2>&1
else
$CONTROL status > /dev/null 2>&1
fi
if [ $? != 0 ] ; then
RETVAL=3
fi
set -e
}
rotate_logs_rabbitmq() {
set +e
$CONTROL rotate_logs ${ROTATE_SUFFIX}
if [ $? != 0 ] ; then
RETVAL=1
fi
set -e
}
restart_running_rabbitmq () {
status_rabbitmq quiet
if [ $RETVAL = 0 ] ; then
restart_rabbitmq
else
echo RabbitMQ is not runnning
RETVAL=0
fi
}
restart_rabbitmq() {
stop_rabbitmq
start_rabbitmq
}
case "$1" in
start)
echo -n "Starting $DESC: "
start_rabbitmq
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
stop_rabbitmq
echo "$NAME."
;;
status)
status_rabbitmq
;;
rotate-logs)
echo -n "Rotating log files for $DESC: "
rotate_logs_rabbitmq
;;
force-reload|reload|restart)
echo -n "Restarting $DESC: "
restart_rabbitmq
echo "$NAME."
;;
try-restart)
echo -n "Restarting $DESC: "
restart_running_rabbitmq
echo "$NAME."
;;
*)
echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
RETVAL=1
;;
esac
exit $RETVAL
7. Jxcode环境

下载地址:
https://codeload.github.com/jxcore/jxcore/tar.gz/v0.3.1.1
编译安装:
./configure --prefix=/usr/local/jx && make && make install


设置系统环境:
echo "#set rabbitmq environment
export PATH=$PATH:/usr/local/rabbitmq/sbin" >> /etc/profile && source /etc/profile


8. mongodb安装

下载地址:
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz 安装:

tar xf /usr/local/src/mongodb-linux-x86_64-2.6.6.tgz -C /usr/local/
mv /usr/local/mongodb-linux-x86_64-2.6.6  /usr/local/mongodb2.6
环境变量设置:
echo "#mongodb2.6 environment
export PATH=\$PATH:/usr/local/mongodb2.6/bin/" >> /etc/profile && source /etc/profile
开启大透明页
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

创建目录:
groupadd -r mongod && useradd -s /sbin/nologin -g mongod -r mongod
mkdir -p /home/mongodb/mongodata
mkdir -p /home/mongodb/mongolog
chown -R  mongod:mongod  /home/mongodb/mongodata
chown -R  mongod:mongod  /home/mongodb/mongolog
系统环境设置:

vim  /etc/security/limits.conf
===============================
* soft nproc 640000
* hard nproc 640000
* soft nofile 640000
* hard nofile 640000
===============================
vim /etc/profile  source /etc/profile
==================
ulimit -n 640000
ulimit -u 640000
==================
配置文件:

vim /etc/mongod_27017.conf
logpath=/home/mongodb/mongolog/mongod.log
logappend=true
fork=true
port=27017
dbpath=/home/mongodb/mongodata
pidfilepath=/home/mongodb/mongolog/27017.pid
oplogSize=4096
maxConns=640000
directoryperdb=true
nojournal=true
master=true
启动脚本:
vim /etc/init.d/mongodb chmod +x /etc/init.d/mongodb
#!/bin/sh
# chkconfig: 2345 93 18
# author:qingbo.song
# description:MongoDB(MongoDB-2.6.2)
#默认参数设置
#mongodb 家目录
MONGODB_HOME=/usr/local/mongodb2.6
#mongodb 启动命令
MONGODB_BIN=$MONGODB_HOME/bin/mongod
#mongodb 配置文件
MONGODB_CONF=/etc/mongod_27017.conf
#mongodb PID
MONGODB_PID=/home/mongodb/mongolog/27017.pid
#最大文件打开数量限制
SYSTEM_MAXFD=640000
#mongodb 名字
MONGODB_NAME="mongodb"
. /etc/rc.d/init.d/functions
if [ ! -f $MONGODB_BIN ]
then
echo "$MONGODB_NAME startup: $MONGODB_BIN not exists! "
exit
fi
start(){
ulimit -HSn $SYSTEM_MAXFD
$MONGODB_BIN --config="$MONGODB_CONF"
ret=$?
if [ $ret -eq 0 ]; then
action $"Starting $MONGODB_NAME: " /bin/true
else
action $"Starting $MONGODB_NAME: " /bin/false
fi

}
stop(){
PID=$(ps aux |grep "$MONGODB_NAME" |grep "$MONGODB_CONF" |grep -v grep |wc -l)
if [[ $PID -eq 0  ]];then
action $"Stopping $MONGODB_NAME: " /bin/false
exit
fi
kill -HUP `cat $MONGODB_PID`
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $MONGODB_NAME: " /bin/true
rm -f $MONGODB_PID
else
action $"Stopping $MONGODB_NAME: " /bin/false
fi
}
restart() {
stop
sleep 2
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
esac
9.tomcat +java环境

tomcat下载地址:
http://apache.opencas.org/tomcat/tomcat-9/v9.0.0.M4/bin/apache-tomcat-9.0.0.M4.tar.gz
jdk下载地址:
http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.rpm?AuthParam=1459060338_576a5595d42fe20dacf501814e2064d3
http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz

tomcat安装:
tar xf apache-tomcat-9.0.0.M4.tar.gz && mv apache-tomcat-9.0.0.M4 /usr/local/tomcat
jdk安装:
rpm包:yum localinstall jdk-8u77-linux-x64.rpm
tar.gz包:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apicloud