说明:
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
1
2
3
4
| rpm -qa | grep java #查看是否已安装java环境
mkdir /usr/java #java程序将安装在此目录
cd /usr/local/src/
rpm -ivh jdk-7u80-linux-x64.rpm
|
1
2
3
4
5
| 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
|
1
| source /etc/profile #立即生效
|
1
2
3
4
| 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
1
2
3
| cd /usr/local/src/
tar -zxf apache-tomcat-7.0.64.tar.gz
cp -a apache-tomcat-7.0.64 /usr/local/tomcat7/
|
配置和优化:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| 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"/>
|
1
2
3
| vi /usr/local/tomcat7/bin/catalina.sh
##添加:
JAVA_OPTS='-server -Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'
|
修改日志目录:/data/tomcat7/logs
1
2
| vi /usr/local/tomcat7/conf/server.xml
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/tomcat7/logs"
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| 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.
|
1
2
3
4
| vi /usr/local/tomcat7/bin/catalina.sh
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT=/data/tomcat7/logs/catalina.out
fi
|
修改日志输出格式:
1
2
| vi /usr/local/tomcat7/conf/server.xml
pattern="%{X-Real-IP}i %a %l %u %t "%r" %s %b" /> #nginx做反向代理,%{X-Real-IP}i 获取用户的真实ip
|
修改根目录:
1
2
| vi /usr/local/tomcat7/conf/server.xml
<Host name="localhost" appBase="/data/tomcat7/www/"
|
创建日志目录和根目录:
1
2
| mkdir -p /data/tomcat7/logs
mkdir -p /data/tomcat7/www/ROOT
|
启动tomcat:
1
2
3
| /usr/local/tomcat7/bin/startup.sh
/usr/local/tomcat7/bin/shutdown.sh #关闭tomcat
|
设置开机自动启动:
1
2
3
| vi /etc/rc.local
##添加:
/usr/local/tomcat7/bin/startup.sh
|
安装nginx:
软件:nginx-1.8.0.tar.gz
下载地址:http://nginx.org/en/download.html
安装nginx的依赖包:
1
2
| 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/
1
2
3
4
5
6
| cd /usr/local/src/
tar -zxf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make
make install
|
安装nginx:
1
2
3
4
5
6
| 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用户:
1
| useradd -s /sbin/nologin nginx
|
修改文件打开数:(忽略)
1
| ulimit -n 65535 #记得设置开机自动启动
|
修改配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| 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;
#}
}
|
创建根目录和日志目录:
1
| mkdir -p /data/nginx/{www,logs}/www.scj.com
|
创建ssl目录:
1
| mkdir -p /usr/local/nginx/ca
|
启动nginx:
1
2
3
4
5
6
| /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/
安装依赖包:
1
2
| 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
|
1
2
3
4
5
6
7
8
9
| 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
|
创建数据库用户:
1
2
| groupadd mysql
useradd -s /sbin/nologin -g mysql mysql
|
1
2
| /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 #授权
|
修改配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| 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:
1
2
3
4
| 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路径:
1
2
3
4
5
| vi /etc/profile
##在最后添加:
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
|
|