公司的业务系统一直使用windows2008,而java本身对系统资源要求很高,开放大量端口,系统安全能力较弱,因此需要使用更加安全,系统资源占用小的系统,Centos作为业界公认的稳定的系统,在国内被广泛使用。因此公司决定决定使用centos作为业务系统的操作系统,构建满足业务需求的基础环境被作为当务之急。
Centos7.3.1161作为当前最新的Centos版本,业界广泛发现稳定性略弱。因此暂时使用Centos6系列中最后一个版本来部署。
具体部署过程如下:
1,下载好下面的安装包。
jdk-8u60-Linux-x64.rpm
apache-tomcat-8.0.26.tar
网址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://tomcat.apache.org/download-80.cgi
2,在CentOS6.9 的/opt/下建个tools目录,把下载好的安装包用FTP上传到/opt/tools/下。
3,安装JDK
#java -version
#rpm -qa | grep java
#rpm -qa | grep jdk
如果有openjdk的话,卸载掉。
如:Java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
#rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
#yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
安装:
#cd /opt/tools/
#rpm -ivh jdk-8u60-linux-x64.rpm
确认一下
#java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
4,安装TOMCAT
#cd /opt/tools/
#tar xzvf apache-tomcat-8.0.26.tar.gz
#mv apache-tomcat-8.0.26 /opt/tomcat/
#./opt/tomcat/bin/startup.sh
#iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -jACCEPT
#iptables -L -n
#service iptables save
确认一下
http://xxx.xxx.xxx.xxx:8080能访问就成功了。
1. 上传Mysql安装包“mysql-5.5.40-linux2.6-x86_64.tar.gz”到部署机,位置任意;
2. 将Mysql安装包解压到其所在目录,命令如下:
tar -zxvf mysql-5.5.40-linux2.6-x86_64.tar.gz
3. 复制解压得到的目录到系统的本地软件目录“/usr/local/”,命令如下:
cp -rf mysql-5.5.40-linux2.6-x86_64 /usr/local/mysql
4. 添加mysql用户组和mysql用户,命令如下:
groupadd mysql
useradd -r -g mysql mysql
5. 进入安装Mysql软件的目录,命令如下:
cd /usr/local/mysql
6. 修改当前目录拥有者为刚才新建的mysql用户,命令如下:
chown -R mysql:mysql ./
7. 复制默认全局启动参数配置文件到/etc目录,命令如下:
cp ./support-files/my-medium.cnf /etc/my.cnf
8. 执行安装包中自带脚本,安装数据库,命令如下:
./scripts/mysql_install_db --user=mysql
9. 修改当前目录拥有者为root用户,命令如下:
chown -R root:root ./
10. 修改data目录拥有者为mysql用户,命令如下:
chown -R mysql:mysql data
到此,数据库安装完毕,下面进行验证。
11. 修改/etc/my.cnf文件。修改数据库的字符集,并使之“大小写不敏感”。
[client]下添加:
default-character-set=utf8
[mysqld]下添加:
character-set-server=utf8
lower_case_table_names=1
[mysql]下添加:
default-character-set=utf8
12. 启动Mysql数据库,注意:需用root权限执行,命令如下:
sudo /usr/local/mysql/support-files/mysql.server start
查看Mysql进程是否已启动,命令如下:
ps -ef|grep mysql
13. 修改Mysql数据库的root用户的密码,root的初始密码默认为空的,命令如下:
./bin/mysqladmin -u root password '此处填写密码'(agen1234)
下面增加3306端口防火墙规则
#iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -jACCEPT
#iptables -L -n
#service iptables save
开机自动启动tomcat和mysql
使用命令打开
vim /etc/rc.d/rc.local
在末尾添加下面两句
./opt/tomcat/bin/startup.sh
/usr/local/mysql/support-files/mysql.server start
授权mysql远程访问
mysql -uroot -p
然后执行:
grant all privileges on *.* to 'root'@'%' identified by 'agen1234' with grant option;
flush privileges;
=====================安装nginx==================
安装apache2.4.27
wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz
tar -zxvf pcre-8.41.tar.gz
1.安装C++
yum install gcc-c++ //安装C++编译环境
2.安装 PCRE
cd /pcre-8.41/
./configure
make
make check
make install
3.Nginx也需要pcre来进行反向和负载均衡
wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx
yum install nginx
启动nginx
service nginx start
查看nginx版本
nginx -v
nginx配置文件位置在/etc/nginx/
8.实践:
目的:修改服务名,接着从外部访问这个服务
操作:
a.修改nginx配置文件
[root@localhostnginx]# vim/etc/nginx/conf.d/default.conf
修改server_name部分:server_name yytest.com;
b.重载服务
[root@localhostnginx]#/usr/sbin/nginx -s reload
c.从外部访问nginx服务(192.168.10.11)
如在客户机(192.168.10.10)的浏览器访问:http://yytest.com
d.你发现访问不了,原因1,你没有在hosts文件做映射;原因2,及时你在hosts文件中了映射,由于nginx服务器的80端口堵塞或防火墙没关
e.解决办法:
步骤一:修改客户机(192.168.10.10)的hosts文件,使用SwitchHosts工具添加192.168.10.11 yytest.com
步骤二:关闭防火墙,具体下文有说明
9.nginx常用操作
启动:
$/usr/sbin/nginx或任意路径下运行service nginxstart(centos7是systemctl startnginx.service )
重启:
$/usr/sbin/nginx –s reload
停止:
$/usr/sbin/nginx –s stop
测试配置文件是否正常:
$ /usr/sbin/nginx –t
具体情况如下 1。本机能ping通虚拟机 2。虚拟机也能ping通本机 3。虚拟机能访问自己的web 4。本机无法访问虚拟己的web 这个问题的原因是服务器的80端口没有打开或防火墙没有关闭
解决办法
如果是centos6:
解决方法如下:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
然后保存:
/etc/rc.d/init.d/iptablessave
重启防火墙
/etc/init.d/iptables restart
CentOS防火墙的关闭,关闭其服务即可:
查看CentOS防火墙信息:/etc/init.d/iptables status
关闭CentOS防火墙服务:/etc/init.d/iptables stop
永久关闭防火墙:
chkconfig –level 35 iptables off
如果是centos7
[root@rhel7 ~]# systemctl status firewalld.service
[root@rhel7 ~]# systemctl stop firewalld.service
[root@rhel7 ~]# systemctl disable firewalld.service
[root@rhel7 ~]# systemctl status firewalld.service
扩展知识:
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled