设为首页 收藏本站
查看: 767|回复: 0

[经验分享] nginx+tomcat+mysql模板配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-16 09:00:05 | 显示全部楼层 |阅读模式
说明:
   
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 &quot;%r&quot; %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













运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-127405-1-1.html 上篇帖子: nginx+uwsgi+django部署 下篇帖子: keepalived+nginx 双主模型实现高可用服务 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表