CentOS搭建Java Web生产环境

不太重要的软件就直接用yum安装了(例如VsFtpd之类的就不在本文介绍了),但是像Nginx、MySQL等最好还是下载最新稳定版本的源码编译安装。

JDK

在Oracle下载jdk的rpm安装包,这里下载的是1.7版本:

wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm?AuthParam=1444378409_f275580f53339110b974a239bd3f4379
mv jdk-7u79-linux-x64.rpm?AuthParam=1444378409_f275580f53339110b974a239bd3f4379 jdk-7u79-linux-x64.rpm
rpm -ivh *.rpm

jdk会默认安装在/usr/java/目录下,接着配置环境变量:

vim /etc/profile

JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

配置好以后测试一下:

java -version

出现以下信息说明配置好了:

java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Tomcat

首先下载并解压tomcat(个人习惯会把tomcat放在/usr/local/下):

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz
tar -zxvf apache-tomcat-7.0.64.tar.gz
mv apache-tomcat-7.0.64 tomcat

配置Web项目(个人习惯通过tomcat/conf/Catalina/localhost/下编写xml配置文件):

vim website.xml


记得指定Tomcat的编码,否则会出现接收参数乱码:

vim conf/server.xml

启动一下试试:

/usr/local/tomcat/bin/startup.sh

MySQL

下载:

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27.tar.gz

准备好编译的库:

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

5.6版本开始通过cmake编译:

tar -zxvf mysql-5.6.27.tar.gz
cd mysql-5.6.27
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make && make install

mysql不建议直接通过root用户开启数据库,所以最好创建一个用户和组:

groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql

初始化:

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

注册开机自启动:

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

初始化root用户的密码:

/usr/local/mysql/bin/mysqladmin -u root password '你的密码'

关于mysql的配置在这里就不详细介绍了。

Redis

根据Redis官网的介绍,安装只需要三步:下载、解压、编译:

wget http://download.redis.io/releases/redis-3.0.4.tar.gz
tar -zxvf redis-3.0.4.tar.gz
mv redis-3.0.4 redis
cd redis
make

启动方式:

redis-server redis.conf

redis不需要配置用户,在配置文件中设置一下密码就可以了,关于配置同样不详细介绍了。

MongoDB

这个更省事,都不需要编译,下载完解压就可以用了:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
mv mongodb-linux-x86_64-3.0.6 mongodb

启动方式:

mongod -f mongodb.conf

mongodb默认是不需要验证权限的,如果需要验证权限的话,需要在添加一个用户,并且在配置文件中设置auth = true,例如:

use database;
db.createUser(
  {
    "user" : "username",
    "pwd": "password",
    "roles" : [
      {
        role: "dbOwner",
        db: "database"
      }
    ]
  }
);

连接方式:

mongo -u username -p password --authenticationDatabase database

Nginx

使用nginx是为了代理一些静态文件,同时做一下多tomcat实例的负载均衡,不过静态文件我还没弄(好像阿里云OSS就能弄?),先说一下负载均衡吧。

nginx的yum包也比较旧了,依旧选择源码编译,首先下载:

wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0

指定一下安装路径,编译安装:

./configure --prefix=/usr/local/nginx
make && make install

负载均衡的配置事例:

vim nginx.conf

include proxy.conf;
upstream localhost {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
}

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main

        location / {
            proxy_connect_timeout       3;
            proxy_send_timeout          30;
            proxy_read_timeout          30;
            proxy_set_header            Host                    $host;
            proxy_set_header            X-Real-IP               $remote_addr;
            proxy_set_header            REMOTE-HOST             $remote_addr;
            proxy_set_header            X-Forwarded-For         $proxy_add_x_forwarded_for;
            proxy_pass                  http://localhost;
        }
}

vim proxy.conf

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X_Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size      64k;

一个基础的Java Web项目的生产环境边搭建完成了

未经允许不得转载:氢网 » CentOS搭建Java Web生产环境

支付宝扫码打赏 微信打赏

欢迎点击上方按钮对我打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!