您的位置:首页 > 运维架构 > Tomcat

从零开始--CenterOS 6.5 64位环境中搭建nginx1.3+mysql5.5.25+tomcat7+jdk7+MQTT服务器

2015-09-12 14:30 633 查看
伦理片 http://www.dotdy.com/

1、操作系统: CentOS release 6.3 (Final) 64位 

2、jdk版本: jdk-7u3-linux-x64.tar.gz 

3、tomcat版本:apache-tomcat-7.0.32.tar.gz 

5、mysql版本: 

      MySQL-client-5.5.25a-1.rhel5.x86_64.rpm 

      MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm、 

      MySQL-server-5.5.25a-1.rhel5.x86_64.rpm 

6、nginx版本:nginx-1.3.0.tar.gz 

7、php版本:php-5.4.3.tar.gz 

安装需要的库和编译工具 

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 

--------------------------- 

JDK 

--------------------------- 

jdk安装 

tar -zxvf jdk-7u3-linux-x64.tar.gz 

mv /upload/jdk1.7.0_03 /usr/local 

复制代码 

#解压,并且将解压后文件移动到需要存放的位置 

jdk环境变量配置 

打开文件/etc/profile在最后面加入以下内容 

export JAVA_HOME=/usr/local/java/jdk1.6.0_30 

export PATH=$PATH:$JAVA_HOME/bin 

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar: 

export JAVA_HOME JAVA_BIN PATH CLASSPATH 

让/etc/profile文件修改后立即生效 ,使用如下命令: 

# .  /etc/profile 

其中/usr/local/java/jdk1.6.0_30 路径为自己服务器上面jdk的安装路径 

重启服务器、查看是否安装成功 

重启命令:reboot 

查看是否安装成功:java -version 

如果输出:java version “1.7.0_03″ 说明jdk已经安装成功 

--------------------------- 

Tomcat 

--------------------------- 

安装:#解压,并且将解压后文件移动到需要存放的位置 

tar-zxvf apache-tomcat-7.0.32.tar.gz 

mv/upload/apache-tomcat-7.0.32 /usr/local 

环境变量配置 

打开文件/etc/profile在最后面加入以下内容 

export CATALINA_HOME=/usr/local/apache-tomcat-7.0.32 

启动Tomcat、查看是否安装成功 

具体的命令如下: 

$CATALINA_HOME/bin/startup.sh 

一般情况下,我们可以创建到该启动脚本的一个链接,放在/usr/local/bin目录下, 

由于该目录下的脚本只要有执行权限,就可以在随时随时调用,因此可以把常用的命令放到该目录,提高工作效率

例:在/usr/local/bin/目录下创建tomcatstart命令 

ln -s $CATALINA_HOME/bin/startup.sh /usr/local/bin/tomcatstart 

chmod +x /usr/local/bin/tomcatstart 

这样,随时随地都可以执行tomcatstart启动tomcat了 

启动tomcat服务器,在浏览器中输入http://服务器IP:tomcat端口/ 

查看tomcat是否已启动:ps -ef|grep java 

键入指令:tail -f tomcat/logs/catalina.out 就可以查看控制台了 

如果用./catalina.sh run 启动tomcat的话,就可以像windows下的控制台一样,动态看到tomcat的控制台输出了。 

■防火墙相关配置导致tomcat不可从外部访问,可以尝试参考以下的linux防火墙配置 

1、关闭selinux 

如果启动无错但无法访问,有可能是 

selinux惹的祸,如果是centos系统,默认会开启selinux 

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。 

2、CenterOS 6.3 64位中防火墙设置及开启某端口号 

开启端口号的方法 

修改防火墙配置文件,所在目录/etc/sysconfig/iptables,在里面增加需要开通的端口号,如下: 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT 

注意:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所以不存 

在/etc/sysconfig/iptables文件。 

使用service iptables status查看防火墙的状态会提示:iptables: Firewall is not running. 

解决: 

在控制台使用iptables命令随便写一条防火墙规则就会有这个文件了,如:iptables -P OUTPUT ACCEPT 

使用service iptables save进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中 

#增加的代码必须放在以下代码之上,否则不会起作用. 

-A INPUT -j REJECT --reject-with icmp-host-prohibited 

-A FORWARD -j REJECT --reject-with icmp-host-prohibited 

完成之后重新启动防火墙即可 service iptables restart .此端口号将可以被访问. 

linux防火墙常用命令 

#永久性生效,重启后不会复原 

开启:chkconfigiptables on 

关闭:chkconfigiptables off 

#即时生效,重启后复原 

#重启|关闭|启动防火墙 

方式一:/etc/init.d/iptables restart|stop|start 

方式二:service iptables restart|stop|start 

--------------------------- 

Mysql 5.5 

--------------------------- 

查找以前是否安装有mysql,如果有先卸载 

命令:rpm -qa|grep -i mysql 

停止mysql服务、删除之前安装的mysql 

删除命令:rpm -e –nodeps 包名 

# rpm -ev MySQL-server-5.5.25-1.rhel5 

# rpm -ev MySQL-devel-5.5.25-1.rhel5 

# rpm -ev MySQL-client-5.5.25-1.rhel5 

查找之前老版本mysql的目录、并且删除老版本mysql的文件和库 

# find / -name mysql 

或locate mysql 

根据结果删除 

接下来直接安装mysql即可 

1、进入安装文件的目录 

2、安装mysql服务端 

# rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm 

3、安装mysql客户端、mysql-devel 

       # rpm -ivh MySQL-client-5.5.25a-1.rhel5.x86_64.rpm 

       # rpm -ivh MySQL-devel-5.5.25a-1.rhel5.x86_64.rpm 

   

如果安装过程中提示和已有库的文件冲突,请使用以下命令移除相应的库: 

(有什么库也可以使用rpm -qa | mysql进行查询) 

yum -y remove mysql-libs-5.1.52*   -y的意思就是不询问是否remove 

启动mysql服务 

# service mysql start 

修改mysql中root的初始化密码 

1、命令如下: 

# /usr/bin/mysqladmin -u root password ‘rootadmin’ 

格式:mysqladmin -u用户名 -p旧密码 password 新密码 

mysqladmin -uroot password 'defaultPassword' 

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了 

2、用新的密码进行登录: 

mysqladmin -uroot password 'vendingihr' 

重启与停止mysql服务 

启动方式1:service mysql start|stop|restart 

启动方式2:/etc/init.d/mysql start|stop|restart 

#一般需要将mysql的DB数据文件迁移到指定目录: 

mysql_install_db --user=mysql --basedir=/usr --datadir=/mnt/mysqldata 

为避免夜长梦多,干掉/var/lib/mysql 

rm -rf /var/lib/mysql 

配置: 


4000
改my.cnf以更改mysql默认配置,Linux下用rpm包安装的MySQL是不会安装/etc/my.cnf文件的, 

只需要复制一个/usr/share/mysql目录下的my-medium.cnf文件到/etc目录,并改名为my.cnf即可。 

配置慢查询(这个未尝试,先记着) 

log-slow-queries=/usr/share/mysql/slow.log 

long_query_time=2 

log-slow-queries=/usr/share/mysql/slow.log 

long_query_time=2 

#log-bin=/mnt/mysqldata/mysql-bin 

[mysqld]加入 

log-bin=/usr/local/mysql-bin  其他空间大的磁盘分区 

●修改mysql默认的编码格式 

查看当前编码:show variables like “character%”; 

在[client ]下面加入 

default-character-set=utf8 

在[ mysqld ] 下面加 

character_set_server=utf8 

init_connect=’SET NAMES utf8′(或者是SET NAMES ‘utf8′) 

网上说在 [ mysql ] 下面加入 

character_set_server=utf8 

重启mysql 

service mysql restart 

●mysql5.5.25开启远程访问功能 

mysql默认的相关配置实际上是在mysql数据库中mysql用户中的user表中,只需要修改此表中相关记录即可实现 

添加新用户进行授权 

#grant all privileges on *.* to 创建的用户名@"%" identified by "密码"; 

#flush privileges; #刷新权限使其生效 

#格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”; 

#@后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端 

#如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。 

如下例所示增加shop用户并且开启远程访问权限 

grant all privileges on *.* to shop@"%" identified by "shopadmin"; 

--------------------------- 

MQTT 

--------------------------- 

从以下地址下载并按顺序安装MQTT mosquitto安装包 

libmosquitto1-1.4.2-3.2.x86_64.rpm 

libmosquittopp1-1.4.2-3.2.x86_64.rpm 

libmosquitto-devel-1.4.2-3.2.x86_64.rpm 

libmosquittopp-devel-1.4.2-3.2.x86_64.rpm 

mosquitto-1.4.2-3.2.x86_64.rpm 

mosquitto-clients-1.4.2-3.2.x86_64.rpm 

mosquitto-debuginfo-1.4.2-3.2.x86_64.rpm 

type=rpm-md 

baseurl=http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/ 

gpgcheck=1 

gpgkey=http://download.opensuse.org/repositories/home:/oojah:/mqtt/CentOS_CentOS-6/repodata/repomd.xml.key 

enabled=1 

如果安装过程中有依赖不明的话,可以尝试用yum来安装,yum会自动下载相关依赖 

yum install mosquitto-1.4.2-3.2.x86_64.rpm 

--------------------------- 

■Nigix(未尝试) 

--------------------------- 

下载必须的组件 

pcre-8.31.tar.gz 让nginx支持rewrite 

下载地址:http://sourceforge.net/projects/pcre/files/pcre/8.31/pcre-8.31.tar.gz/download 

安装pcre-8.31.tar.gz 

1、解压 pcre 

tar zxvf pcre-8.31.tar.gz 

2、配置 pcre 

cd pcre-8.31 

./configure 

配置时如果报 configure: error: no acceptable C compiler found in $PATH 错误 

可参考:nginx安装 configure: error: no acceptable C compiler found in $PATH 

3、编译 make 

编译时如果报 make[3]: *** [install-data-hook] Error 1错误 

可参考:pcre-8.31安装 make[3]: *** [install-data-hook] Error 1错误 

编译时如果报 make[1]: *** [pcrecpp.lo] Error 1错误 

可参考:nginx安装出错 make[1]: *** [pcrecpp.lo] Error 1 

4、安装  make install 

添加nginx需要的用户组及用户 

#/usr/sbin/groupadd -f nginx 

#/usr/sbin/useradd -g ningx nginx 

安装nginx 

1、解压 nginx 

tar zxvf nginx-1.3.0.tar.gz 

2、配置nginx,默认的安装目录在/usr/local/nginx 

cd nginx-1.3.0 

./configure 

3、编译nginx 

make 

4、安装 

make install 

5、启动服务 

service nginx start 或者/usr/local/nginx/sbin/nginx 

启动时如果报 error while loading shared libraries: libpcre.so.1:错误 

可参考:nginx启动出错 error while loading shared libraries: libpcre.so.1: 

配置或启动时如果报 nginx: [emerg] getpwnam(“www”) failed 错误 

可参考:nginx安装 nginx: [emerg] getpwnam(“www”) failed 错误 

6、访问服务器的IP地址,成功之后页面将显示以下信息 

Welcome to nginx! 

--------------------------- 

■PHP(未尝试) 

--------------------------- 

安装支持套件 

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 

如果前面已经安装了LNMP安装时所需要的支持套件,则此处不需要再安装,前面已经讲过,具体位置在我的Linux项目实施系列教程:CenterOS 6.3 64位环境说明、软件下载、库及编译工具安装 

安装支持库 

1) pcre-8.30.tar.gz 下载 

# tar zxvf pcre-8.30.tar.gz 

# cd pcre-8.30 

# ./configure 

# make 

# make install 

2) libiconv-1.14.tar.gz 下载 

# tar zxvf libiconv-1.14.tar.gz 

# cd libiconv-1.14 

# ./configure 

# make 

# make install 

3) libmcrypt-2.5.8.tar.gz 下载 

# tar zxvf libmcrypt-2.5.8.tar.gz 

# cd libmcrypt-2.5.8 

# ./configure 

# make 

# make install 

4) mhash-0.9.9.9.tar.gz 下载 

# tar zxvf mhash-0.9.9.9.tar.gz 

# cd mhash-0.9.9.9 

# ./configure 

# make 

# make install 

5) mcrypt-2.6.8.tar.gz 下载 

# tar zxvf mcrypt-2.6.8.tar.gz 

# cd mcrypt-2.6.8 

# ./configure 

# make 

# make install 

配置时如果报 configure: error: *** libmcrypt was not found 错误 

可参考:configure: error: *** libmcrypt was not found 错误解决 

安装php-5.4.3 

# tar zvxf php-5.4.3.tar.gz 

# cd php-5.4.3 

# ./configure -prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr –with-mysqli=/usr/bin/mysql_config –with-iconv-dir=/usr/local/lib –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath
–enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets
–with-ldap –with-ldap-sasl –with-xmlrpc –enable-zip –enable-soap –without-pear –with-fpm-user=www –with-fpm-group=www 

# make 

# make install 

编译中的错误解决 

1、如果配置当中报 configure: error: Cannot find ldap libraries in /usr/lib. 错误 

具体的解决办法请参考:解决php configure: error: Cannot find ldap libraries in /usr/lib.错误2、如果配置当中报 configure: error: Cannot find MySQL header files under /usr/share/mysql. 错误 

说明指定的安装目录不对 

解决办法:将–with-mysql=/usr/share/mysql 改成–with-mysql=/usr 

3、如果配置当中报 

configure: error: Cannot find libmysqlclient under /usr. 

Note that the MySQL client library is not bundled anymore! 错误 

具体的解决办法请参考:configure: error: Cannot find libmysqlclient under /usr.错误解决4、如果配置当中报 make: *** [sapi/cli/php] Error 1 错误 

具体的解决办法请参考:make: *** [sapi/cli/php] Error 1错误解决 

复制php配置文件 

# cp php.ini-production /usr/local/php/lib/php.ini 或是 /usr/local/lib/php.ini 

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 

# /usr/local/php/bin/php –ini //测试ini文件是否加载 

编辑php-fpm.conf 

[global] 

pid = run/php-fpm.pid 

error_log = log/php-fpm.log 

log_level = notice 

[www] 

listen = 127.0.0.1:9000 

user = www 

group = www 

pm = dynamic 

pm.max_children = 50 

pm.start_servers = 20 

pm.min_spare_servers = 5 

pm.max_spare_servers = 35 

pm.max_requests = 5000 

测试php-fpm配置 

/usr/local/php/sbin/php-fpm -t 

如果显示以下信息,则说明安装成功 

NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful 

启动9000端口号 

防火墙中开启php默认的端口号9000,如果服务器没有开启防火墙,则不需要 

启动php-fpm 

/usr/local/php/sbin/php-fpm 

如果启动报错:ERROR: [pool www] cannot get uid for user ‘www’ 

增加用户即可,具体的代码:useradd www -M -s /sbin/nologin 

到此为止,整个php安装完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: