第一章:在Linux环境下搭建开发环境,就需要安装各种软件,在Linux平台安装软件和windows环境下有所区别,在安装各种软件之前,需要在linus平台上搭建一个文件服务器(ftp), 在实际的开发过程当中,由于我们的项目需要部署到远程服务器上运行,而往往传统的web项目在开发过程当中,由于和tomact服务器不分离,导致项目在每次已启动,就会面临一个很严重的问题,我们存储在web项目下面的文件和图片很有可能会丢失,为此,在项目开发的过程当中,为了解决这个问题,我们通过建立分布式服务器,定义一台专门用于处理文件的服务器,和我们的项目服务器实现完全分离,文件服务器默认配置在linux平台上运行.
具体步骤:
第一步:下载虚拟机VMware和linux操作系统CentOS7,并安装虚拟机。
第二步:安装完毕虚拟机后启动虚拟机,进入操作系统,开始在线安装ftp组件,由于centOS默认时关闭网卡的,因此需要手动设置开启网卡,具体代码为:
ip addr://centos下查看IP地址的命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33://进入编辑模式,把onboot设置为yes即可开启网卡。
service network restart://重启网卡
第三步,使用Yum工具在线安装vsftpd组件,类似于360工具安装软件,使用命令为:
yum install -y vsftpd
第四步:vsftpd组件安装完毕后可以使用whereis vsftpd查看安装位置,开始设置用户名和密码
useradd admin //默认创建的根目录为/home/admin
passwd sunshinecmm// 密码8位数,必须够,负责会报错误的
第五步:安装iptables-serverces,防火墙组件
yum install -y iptables-services
第六步:ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件,因此修改防火墙配置文件,在行上面有22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把22换成21,然后:wq保存。,然后重启防火墙即可,具体命令:
Vi /etc/sysconfig/iptables;//进入iptables的配置文件,进行修改
service iptables restart;//重启防火墙
第六步:如果这时外网可以访问,可是发现没法返回目录,也上传不了,因为selinux作怪了,修改selinx:
执行一下命令查看状态:
getsebool -a |grep ftp
[root@bogon ~]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@bogon ~]#
执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问
执行命令:
[root@bogon ~]# setsebool -P allow_ftpd_full_access on
[root@bogon ~]# setsebool -P ftp_home_dir on
第六步:关闭匿名访问:
vi /etc/vsftpd/vsftpd.conf
把anonymous_enable=NO #将YES改为NO
保存并重启vsftpd :service vsftpd restart
第七步:开启被动模式
默认是开启的,但要指定一个端口范围,打开vsftpd.conf文件,在后面加上:
pasv_min_port=30000
pasv_max_port=30999
保存完毕后重启一下vsftpd
第八步:由于指定这段端口范围,iptables也要相应的开启这个范围,所以像上面那样打开iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改为30000:30999,然后:wq保存,重启下iptables。这样就搞定了。
第九步:设置vsftpd默认为开机自启动:chkconfig vsftpd on
至此 vsftpd组件搭建完毕。
第二章:搭建开发环境
linux平台安装jdk:
利用vsftpd把文件从window环境上传到linux文件夹下。
1.在/usr/目录下创建java目录
[root@localhost ~]# mkdir/usr/java
[root@localhost ~]# cd /usr/java
2.移动jdk,然后解压
[root@localhost java]# mv /home/ftpuser/jdk-7u79-linux-x64.tar.gz /usr/java
[root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz
3.设置环境变量
[root@localhost java]# vi /etc/profile
在profile中添加如下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效:
[root@localhost java]# source /etc/profile
4.验证JDK有效性
[root@localhost java]# 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)
linux平台配置tomcat服务器:
【1】利用vsftp将tomact文件共享到linux服务器上
【2】新建一个tomact文件夹,用来存放解压文件
mkdir /usr/tomact
【3】将上传到ftp里面的tomact文件移动到新建的文件夹里面
mv /home/ftpuser/apache-tomcat-7.0.88.tar.gz /usr/tomact
【4】解压该文件
tar -zxvf apache-tomcat-7.0.88.tar.gz
【5】 我们来配置一下tomcat的环境变量和内存设置,进入tomcat的bin目录后通过vi命令打开catalina.sh文件,并在其中加入如下配置:
//将下面的路径替换成自己真实配置的路径
JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"
export TOMCAT_HOME=/usr/tomact/apache-tomcat-7.0.57
export CATALINA_HOME=/usr/tomact/apache-tomcat-7.0.57
export JRE_HOME=/usr/java/jdk1.7.0_75/jre
export JAVA_HOME=/usr/java/jdk1.7.0_75
【6】接下来修改一下tomcat端口号,进入tomcat的conf目录下,修改server.xml文件,通过vi命令打开文件后直接输入/8080检索到端口号的位置,进入编辑模式后修改端口号为8081
<Connecror port="80" protocol="HTTP/1.1"
connectionTimeout="200000"
redirectPort="8443"/>
【7】接下来我们就可以尝试启动tomcat了,切换到tomcat的bin目录输入启动命令:
./startup.sh //开启
./shutdown.sh //关闭
如果屏幕输出 tomact started即可成功启动
【8】由于Linux防火墙的原因,很有可能导致外网访问不到,为此需要修改防火墙配置,把8081端口配置进取即可:
vi /etc/sysconfig/iptables
在22 -j ACCEPT的下面配置一行信息,内容和22行一样,只不过把22改成8081即可。
保存之后重启防火墙就可以正常访问了。
linux平台部署mysql数据库:
【1】https://dev.mysql.com/downloads/mysql/选择为Red Hat Enterprise Linux 7 / Oracle Linux 7 ,把os的版本选择为all。
直接下载mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面.
【2】利用ftp服务器将文件上传到Linux平台上
【3】新建一个文件,专门用于存放MySQL数据库的安装
mkdir /usr/sql
【4】将上传到ftp服务器上的文件移动到该文件下
mv /home/ftpuser/mysql.tar /usr/sql
【5】进入/usr/sql目录下,接下该文件包
tar -xvf mysql.tar
【6】解压完毕后会显示很多的包,这里只安装common-->libs-->client-->server,使用rpm -ivh进行安装,其余的包可以不安装,但是再安装之前,由于centos默认安装了Mariadb(mysql的一个分支),再
安装mysql时会报错,需要先卸载mariadb包即可进行安装:
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
mysql-community-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
//卸载mariadb
rpm -qa |grep mariadb
rpm -e --nodeps mariadb-libs
卸载完毕后就可进行安装
rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
//依次按找顺序安装,不能乱掉,再安装到server时会报错:缺少依赖prep 、net-tools等工具。
解决办法:
yum install -y perl-Module-Install.noarch
yum install -y net-tools
再次进行安装即可安装成功mysql
【7】mysql 安装成功后,第一次启动时需要数据库初始化:
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
mysqld --initialize --user=mysql
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,
而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。
[root@linux_node_1 src]# cat /var/log/mysqld.log |grep password //查看生成的日志初始密码
2016-12-07T04:41:58.420558Z 1 [Note] A temporary password is generated for root@localhost: )1r3gi,hjgQa//生成的密码
【8】启动mysql服务:
service mysqld start service mysqld stop
【9】登陆MySQL数据库,使用刚刚生成的过期密码登陆一次
mysql -u root -p 填写刚刚生成的密码
【10】修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
mysql>quit;
重新登陆即可用新密码登陆成功。
linux平台部署mysql实现远程登陆授权访问:
在linux平台部署成功mysql之后,由于MySQL默认只开启本地访问,远程无法访问,即在windows平台下用navicat远程连接mysql会失败:
解决办法:
【1】首先登陆MySQL数据库
MySQL -u root - p chen3521
【2】选择使用MySQL数据库
use mysql
【3】使用查询语句查询一下 user表当中的host是什么:
select host,user from user where user='root'
host | user
|
localhost | root |
如果host显示为localhost,需要更新localhost为%(代表所有IP都可以访问)
update user set host='%' where user='root'
【4】开始授权所有的ip都可以访问远程数据库
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
即可完成授权
【5】由于Linux安装的是MySQL8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则caching_sha2_password,解决办法是一种升级navicat驱动,一种是把mysql用户登陆密码加密规则还原成mysql_native_password,具体解决办法:【mysql的版本如果是8.0以上版本是需要设置,8.0版本以下不需要设置】
alter user 'root'@'%' identified by 'password' PASSWORD EXPIRE NEVER;
alter user 'root'@'%' identified with mysql_native_password by 'password';
flush privileges;
其中password为root用户设置的密码。
至此,就可以实现远程连接数据库,进行相关的服务。
第三章:搭建nignx,实现负载均衡
具体实现网址:http://www.cnblogs.com/jalja/p/6104325.html即可。nigx可以不安装