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

伦理片   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 

配置: 
修改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安装完成


你可能感兴趣的:(linux)