nginx+tomcat+mysql模板配置
说明:
nginx+tomcat+mysql全部安装在一台云服务器上,然后对其做一个镜像
服务器配置:
ucloud云服务器
centos6.5 64位
cpu:4核
内存:8G
软件版本:
nginx-1.8.0.tar.gz
apache-tomcat-7.0.64.tar.gz
jdk-7u80-linux-x64.rpm
mysql-5.6.27.tar.gz
安装jdk:
软件:jdk-7u80-linux-x64.rpm
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
rpm -qa | grep java #查看是否已安装java环境 mkdir /usr/java #java程序将安装在此目录 cd /usr/local/src/ rpm -ivh jdk-7u80-linux-x64.rpm
vi /etc/profile #设置环境变量 ##在最后添加: export JAVA_HOME=/usr/java/jdk1.7.0_80 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile #立即生效
java -version #查看安装是否成功 java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b02, mixed mode)
安装tomcat:
软件:apache-tomcat-7.0.64.tar.gz
下载地址:http://tomcat.apache.org/download-70.cgi
cd /usr/local/src/ tar -zxf apache-tomcat-7.0.64.tar.gz cp -a apache-tomcat-7.0.64 /usr/local/tomcat7/
配置和优化:
vi /usr/local/tomcat7/conf/server.xml ##修改为: <Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="100" maxSpareThreads="1000" minProcessors="100" maxProcessors="1000" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" URIEncoding="utf-8" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true"/>
vi /usr/local/tomcat7/bin/catalina.sh ##添加: JAVA_OPTS=‘-server -Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m‘
修改日志目录:/data/tomcat7/logs
vi /usr/local/tomcat7/conf/server.xml <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/tomcat7/logs"
vi /usr/local/tomcat7/conf/logging.properties 1catalina.org.apache.juli.FileHandler.level = FINE 1catalina.org.apache.juli.FileHandler.directory = /data/tomcat7/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 2localhost.org.apache.juli.FileHandler.level = FINE 2localhost.org.apache.juli.FileHandler.directory = /data/tomcat7/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. 3manager.org.apache.juli.FileHandler.level = FINE 3manager.org.apache.juli.FileHandler.directory = /data/tomcat7/logs 3manager.org.apache.juli.FileHandler.prefix = manager. 4host-manager.org.apache.juli.FileHandler.level = FINE 4host-manager.org.apache.juli.FileHandler.directory = /data/tomcat7/logs 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
vi /usr/local/tomcat7/bin/catalina.sh if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT=/data/tomcat7/logs/catalina.out fi
修改日志输出格式:
vi /usr/local/tomcat7/conf/server.xml
pattern="%{X-Real-IP}i %l %u %t "%r" %s %b" /> #nginx做反向代理,%{X-Real-IP}i 获取用户的真实ip修改根目录:
vi /usr/local/tomcat7/conf/server.xml <Host name="localhost" appBase="/data/tomcat7/www/"
创建日志目录和根目录:
mkdir -p /data/tomcat7/logs mkdir -p /data/tomcat7/www/ROOT
启动tomcat:
/usr/local/tomcat7/bin/startup.sh /usr/local/tomcat7/bin/shutdown.sh #关闭tomcat
设置开机自动启动:
vi /etc/rc.local ##添加: /usr/local/tomcat7/bin/startup.sh
安装nginx:
软件:nginx-1.8.0.tar.gz
下载地址:http://nginx.org/en/download.html
安装nginx的依赖包:
yum -y install make gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
安装pcre,使nginx支持rewrite重写:
软件:pcre-8.37.tar.gz
载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
cd /usr/local/src/ tar -zxf pcre-8.37.tar.gz cd pcre-8.37 ./configure make make install
安装nginx:
cd /usr/local/src/ tar -zxf nginx-1.8.0.tar.gz cd nginx-1.8.0 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --with-http_gunzip_module --with-http_realip_module make make install
创建nginx用户:
useradd -s /sbin/nologin nginx
修改文件打开数:(忽略)
ulimit -n 65535 #记得设置开机自动启动
修改配置文件:
mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.old
vi /usr/local/nginx/conf/nginx.conf
user nginx nginx;
worker_processes 4;
error_log /data/nginx/logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" $http_x_forwarded_for‘;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
sendfile on;
#tcp_nopush on;
tcp_nodelay on;
client_header_timeout 30;
client_body_timeout 30;
send_timeout 30;
client_max_body_size 100M;
keepalive_timeout 60;
proxy_connect_timeout 100;
proxy_send_timeout 100;
proxy_read_timeout 100;
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript;
gzip_vary on;
upstream web1{
#ip_hash;
server 10.10.38.212:8080 max_fails=3 fail_timeout=10s;
#server 192.168.247.131:8080 max_fails=3 fail_timeout=30s;
}
server {
listen 443;
server_name www.scj.com;
root /data/nginx/www/www.scj.com;
index index.html index.htm index.jsp;
ssl on;
ssl_certificate /usr/local/nginx/ca/server.crt;
ssl_certificate_key /usr/local/nginx/ca/server.key;
access_log /data/nginx/logs/www.scj.com/access.log main;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ .*\.jsp$ {
proxy_pass http://web1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
location ~ .*\.(gif|jpg|png|swf|bmp|jpeg)$ {
expires 10d;
}
location ~ .*\.(js|css)?$ {
expires 1h;
}
}
#server {
#listen 80 default;
#server_name _;
#return 500;
#}
}创建根目录和日志目录:
mkdir -p /data/nginx/{www,logs}/www.scj.com创建ssl目录:
mkdir -p /usr/local/nginx/ca
启动nginx:
/usr/local/nginx/sbin/nginx ##设置开机自动启动: vi /etc/rc.local /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx -s stop #关闭nginx
安装mysql:
软件:mysql-5.6.27.tar.gz
下载地址:http://mirrors.sohu.com/mysql/MySQL-5.6/
安装依赖包:
yum -y install cmake bison-devel ncurses-devel kernel-devel readline-devel perl perl-devel #yum -y install make gcc gcc-c++ cmake bison-devel ncurses-devel kernel-devel readline-devel pcre-devel openssl-devel openssl zlib zlib-devel perl perl-devel
cd /usr/local/src/
tar -zxf mysql-5.6.27.tar.gz
cd mysql-5.6.27
mkdir -p /data/mysql/{data,logs} #创建数据目录和日志目录
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/usr/local/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS:STRING=utf8,gbk -DWITH_DEBUG=0
make
make install创建数据库用户:
groupadd mysql useradd -s /sbin/nologin -g mysql mysql
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --defaults-file=/usr/local/mysql/my.cnf --user=mysql #初始化 chown -R mysql.mysql /data/mysql #授权
修改配置文件:
mv /usr/local/mysql/my.cnf /usr/local/mysql/my.cnf.old vi /usr/local/mysql/my.cnf [mysqld] basedir = /usr/local/mysql datadir = /data/mysql/data port = 3306 socket = /var/lib/mysql/mysql.sock pid-file = /var/lib/mysql/mysql.pid default_storage_engine = InnoDB expire_logs_days = 14 max_binlog_size = 1G binlog_cache_size = 10M max_binlog_cache_size = 20M slow_query_log long_query_time = 2 slow_query_log_file = /data/mysql/logs/slowquery.log open_files_limit = 65535 innodb = FORCE innodb_buffer_pool_size = 2G innodb_log_file_size = 1G query_cache_size = 0 thread_cache_size = 64 table_definition_cache = 512 table_open_cache = 512 max_connections = 1000 sort_buffer_size = 10M max_allowed_packet = 6M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error = /data/mysql/logs/error.log [client] socket = /var/lib/mysql/mysql.sock port = 3306
启动mysql:
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on /etc/init.d/mysqld start
修改path路径:
vi /etc/profile ##在最后添加: export PATH=$PATH:/usr/local/mysql/bin source /etc/profile
本文出自 “见” 博客,请务必保留此出处http://732233048.blog.51cto.com/9323668/1703053
原文:http://732233048.blog.51cto.com/9323668/1703053