如需要用虚拟机则下载centos的地址:(http://mirrors.aliyun.com)

第一步:安装数据源(https://opsx.alibaba.com/mirror

1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 7 版本
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之后运行yum makecache生成缓存

第二步:JDK的安装

1、jdk的下载

2、jdk的安装
   2.1.清理系统默认自带jdk,使用 rpm -qa | grep jdk 查看自带的jdk,然后卸载
   2.2.卸载命令: sudo yum remove XXXX  (xxx为上一个命令查到的结果)
   2.3.赋予权限: sudo chmod 777 jdk-7u80-linux-x46.rpm
   2.4.安装:     sudo rpm -ivh jdk-7u80-linux-x46.rpm
   2.5.默认安装路径为: /usr/java  (例如:/usr/java/jdk1.7.0_80)
   2.6.配置jdk的环境变量
        sudo vim /etc/profile
        在最下方增加:
        export JAVA_HOME=/usr/java/jdk1.7.0_80
        export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:
                         $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
        在export PATH中添加$JAVA_HOME/bin

   2.7.保存退出,通过vim的":wq"命令进行保存退出
   2.8.使配置生效: source /etc/profile 
   注:JAVA_HOME为您安装jdk的路径

3、jdk的验证
    执行java -version命令,出现版本信息证明安装成功

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_nginx

第三步:Tomcat的安装

1、tomacat简介
   tomacat是一个web容器,javaee程序可以在此运行。
   可以说是servlet的解析

2、tomcat安装
   2.1.tomacat的版本是tomcat7(注:安装tomcat之前需要安装好jdk,因为启动tomcat需要用到jdk)
   2.2.官网下载tomacat7(https://tomcat.apache.org/download-70.cgi)
   2.3.解压缩:tar -zxvf apache-tomcat-7.0.73.tar.gz
   2.4.是否使用sudo权限执行根据具体环境决定
   2.5.配置环境变量: sudo vim /etc/profile
       export CATALINA_HOME=/developer/apache-tomcat-7.0.73(注:CATALINA_HOME为tomcat的路径)
   2.6.保存退出,通过vim的":wq"命令进行保存退出
   2.7.使生效: source /etc/profile
   2.8.配置UTF-8字符集
       2.8.1.进入tomcat安装conf文件夹,编辑server.xml(如${CATALINA_HOME}/conf/server.xml)
       2.8.2.找到配置8080默认端口位置,在xml节点末尾增加 URIEncoding="UTF-8"
       
3、tomcat验证
   3.1.进入系统解压缩后的tomcat目录
   3.2.进入bin目录
   3.3.执行./startup.sh
   3.4.打开浏览器,输入ip地址,出现只tomcat猫就安装成功
   
4、tomcat常用命令

 

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_nginx_02

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_MySQL_03

第四步:maven的安装

1、maven的简介
  1.1.maven是java项目的构建和管理工具
  1.2.用maven可以方便的创建项目,基于archetype可以创建多种类型的java项目
  1.3.maven仓库对jar包(artifact)进行统一管理,避免jar文件的重复拷贝和版本冲突
  1.4.团队开发,maven管理项目的RELEASE和SNAPSHOT版本,方便多模块(module)项目的各个模块快速集成

2、maven的安装
  2.1.安装版本 3.0.5
  2.2.首先确保已经安装了jdk,登陆maven官网下载3.0.5版本
  2.3.通过tar 或 unzip(windows)进行解压缩:tar -zxvf apache-maven-3.0.5-bin.tar.gz
  2.4.配置环境变量: sudo vim /etc/profile
      在最下面增加maven的环境变量:export MAVEN_HOME=/developer/apache-maven-3.05
      注:"="后边是安装在系统中maven解压缩后的位置
      export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
  2.5.执行source /etc/profile,使之生效

3、maven的验证
  3.1.执行mvn -version进行验证
    
4、maven的常用命令

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_nginx_04

第五步:vsftpd文件服务器的安装

1、vsftpd的简介
 1.1.vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的、开放源代码ftp服务器软件

2、vsftpd安装
 2.1.vsftpd版本:vsftpd-2.2.2-21.el6.x86_64
 2.2.执行 yum -y install vsftpd
     注:1)是否使用sudo权限执行根据具体环境来决定
         2)rpm -qa| grep vsftpd可通过这个检查是否已经安装vsftpd
         3)默认配置文件在/etc/vsftpd/vsftpd.conf

 2.3.创建虚拟用户
     2.3.1.选择在根或者用户目录下创建ftp文件夹:mkdir ftpfile
     2.3.2.添加匿名用户: useradd ftpuser -d /ftpfile -s /sbin/nologin
     2.3.3.修改ftpfile权限:chown -R ftpuser.ftpuser /ftpfile
     2.3.4.重设ftpuser密码:passwd ftpuser
     注:是否使用sudo权限执行根据具体环境决定
     2.3.5.配置:
           1)cd /etc/vsftpd
           2)sudo vim chroot_list
           3)把刚才新增的虚拟用户添加到此配置文件中,后续要引用
           4):wq保存退出
           5)sudo vim /etc/selinux/config,修改为SELINUX=disabled
           6):wq保存退出
           注:如一会验证时候碰到550拒绝访问请执行: sudo setsebool -P ftp_home_dir 1
               然后重启linux服务器,执行reroot命令
           7) sudo vim /etc/vsftpd/vsftpd.conf
                本项目要用到的配置项:
------------------------------------------------------------------------------------


1)local_root=/ftpfile(当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录) 
2)anon_root=/ftpfile(使用匿名登入时,所登入的目录) 
3)use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
4)anonymous_enable=NO(不允许匿名用户登录)
5)local_enable=YES(允许本地用户登录)
6)write_enable=YES(本地用户可以在自己家目录中进行读写操作)
7)local_umask=022(本地用户新增档案时的umask值)
8)dirmessage_enable=YES(如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启)
9)xferlog_enable=YES(是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。)
10)connect_from_port_20=YES(指定FTP使用20端口进行数据传输,默认值为YES)
11)xferlog_std_format=YES(如果启用,则日志文件将会写成xferlog的标准格式)
12)ftpd_banner=Welcome to mmall FTP Server(这里用来定义欢迎话语的字符串)
13)chroot_local_user=NO(用于指定用户列表文件中的用户是否允许切换到上级目录)
14)chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
15)chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
16)listen=YES(设置vsftpd服务器是否以standalone模式运行,以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效,若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd服务的管控,功能上会受到限制)
17)pam_service_name=vsftpd(虚拟用户使用PAM认证方式,这里是设置PAM使用的名称,默认即可,与/etc/pam.d/vsftpd对应) userlist_enable=YES(是否启用vsftpd.user_list文件,黑名单,白名单都可以
18)pasv_min_port=61001(被动模式使用端口范围最小值)
19)pasv_max_port=62000(被动模式使用端口范围最大值)
20)pasv_enable=YES(pasv_enable=YES/NO(YES)
若设置为YES,则使用PASV工作模式;若设置为NO,则使用PORT模式。默认值为YES,即使用PASV工作模式。
   FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
   一、PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 
  当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了****端口,你过来连接我”。于是服务器从20端口向客户端的****端口发送连接请求,建立一条数据链路来传送数据。
   二、PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 
  当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了****端口,你过来连接我”。于是客户端向服务器的****端口发送连接请求,建立一条数据链路来传送数据。 
  从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。
)
------------------------------------------------------------------------------------
    8)防火墙配置: 
                sudo vim /etc/sysconfig/iptables
                
                -A  INPUT -p TCP --dport 61001:62000 -j ACCEPT
                -A  OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
                -A  INPUT -p TCP --dport 20 -j ACCEPT
                -A  OUTPUT -p TCP --sport 20 -j ACCEPT
                -A  INPUT -p TCP --dport 21 -j ACCEPT
                -A  OUTPUT -p TCP --dport 21 -j ACCEPT
                以上配置添加到防火墙中

                sudo service iptables restart 执行命令重启防火墙

3、vsftpd验证
   3.1.执行sudo service vsftpd restart
   3.2.执行ifconfig查看运行vsftpd服务器的ip地址
   3.3.打开浏览器访问:ftp://xx.xx.xx.xx
   3.4.输入之前创建用户账号和密码 例如:用户名:ftpuser ,密码:123456

4、vsftpd常用命令
   4.1.启动:sudo service vsftpd start
   4.2.关闭:sudo service vsftpd stop
   4.3.重启:sudo service vsftpd restart

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_mysql_05

看到如图表示创建成功

 

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_nginx_06

第六步:Nginx的安装

1、nginx的简介

  nginx是一款轻量级的web服务器,也是一款反向代理服务器
  nginx可以干的事:1)可直接支持Rails和PHP的程序
                 2)可作为HTTP反向代理服务器
                 3)作为负载均衡服务器
                 4)作为邮件代理服务器
                 5)帮助前端实现动静分离
  nginx特点:高稳定、高性能、资源占用少、功能丰富、模块化结构、支持热部署

2、nginx安装
  2.1.安装版本:1.10.2
  2.2.安装gcc:  yum install gcc
  2.3.安装pcre: yum install pcre-devel
  2.4.安装zlib: yum install zlib zlib-devel
  2.5.安装openssl: yum install openssl openssl-devel (注:如需支持ssl,才需要安装openssl)
  综合命令: yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

  (注:-y 表示确定安装)
  2.6.下载源码包,选择稳定版本,解压缩安装: wget http://nginx.org/download/nginx-1.10.2.tar.gz
  2.7.解压: tar -zxvf nginx-1.10.2.tar.gz
  2.8.ngin安装:
        2.8.1.进入nginx目录之后执行./configure
              1)可以指定安装目录,增加参数--prefix=/usr/nginx
              2)如果不指定路径,可以通过whereis nginx进行查询
              3)默认安装在 /usr/local/nginx
        2.8.2.继续执行make
        2.8.3.继续执行make install

3、nginx常用命令

   测试配置文件:安装路径下的/nginx/sbin/nginx -t
   启动命令:安装路径下的/nginx/sbin/nginx
   停止命令:安装路径下的/nginx/sbin/nginx -s stop 或者 nginx -s quit
   重启命令:安装路径下的/nginx/sbin/nginx -s reload
   查看进程命令: ps -ef |grep nginx
   平滑重启:kill -HUP
   增加防火墙访问权限:1)sudo vim /etc/sysconfig/iptables
                     2)-A INPUT -p tcp -m state --state NEW
                       -m tcp --dport 80 -j ACCEPT
                     3)保存退出
                     4)重启防火墙:sudo service iptables restart

4、nginx项目配置及验证
 配置步骤:
 4.1.编辑:sudo vim /usr/local/nginx/conf/nginx.conf
     1)增加include vhost/*.conf
     2)保存退出
 4.2./usr/local/nginx/conf/目录新建vhost为文件夹(即:/usr/local/nginx/conf/vhost)
 4.3.创建域名转发配置文件,点击查看详情
 4.4.启动(重启)验证
     启动:${nginx}/sbin/nginx
     重启:${nginx}/sbin/nginx -s reload
     注:${nginx}代表安装在系统中的路径,例如:/usr/local/nginx
 4.5.访问验证
     使用默认80端口访问验证:http://localhost:80

5、nginx本地玩耍注意事项

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_nginx_07

第七步:MySQL安装

1、MySQL简介
   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品

2、MySQL安装
   2.1.安装版本:MySQL-server-5.1.73(阿里软件源默认带的版本)
   2.2.执行:yum -y install mysql-server

      注:1)是否使用sudo权限执行请根据你具体环境决定
         2)rpm -qa| grep MySQL-server可通过这个检查是否已经安装MySQL-server
         3)默认配置文件在 /etc/my.cnf

   2.3.字符集配置
         1)vim /etc/my.cnf
         2)添加配置,在mysqld节点下添加:
                  default-character-set=utf8
                  character-set-server=utf8
         3):wq保存退出
         注:是否使用sudo权限执行根据具体环境决定
           

  补充:关于中文乱码问题
   1)在5.1版本时,为了解决中文乱码问题,my.ini内mysql和mysqld中都写:default-character-set=utf8
   2)在5.5版本,mysql内可以这么写,mysqld内不能这么写,而是写:character-set-server=utf8

   2.4.自启动配置:
           1)执行chkconfig mysqld on
           2)执行chkconfig --list mysqld查看(如果2-5位启用on状态即OK)

   2.5.防火墙配置:

           1)sudo vim /etc/sysconfig/iptbles
           2)-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT 配置添加到防火墙配置中
           3):wq保存退出
           4)sudo service iptables restart 执行命令重启防火墙

3、MySQL服务启动

     3.1.启动mysqld服务service mysqld start 或/etc/rc.d/init.d/mysqld start
     3.2.MySQL初始化环境设置,因还未设置密码,执行mysql -u root登陆mysql服务器

4、MySQL配置
   4.1.查看目前MySQL的用户:select user,host,password from mysql.user
   4.2.修改root密码:set password for root@localhost=password('youpassword');
   4.3.exit退出MySQL
   4.4.重新登陆mysql输入mysql -u root -p
   4.5.删除匿名用户,执行以下sql
       1)查看是否有匿名用户:select user,host from MySQL.user;
       2)删除匿名用户:delete from mysql.user where user='';
       3)再次查看:select user,host from mysql.user;
       4)刷新,生效: flush privileges;
   4.6.插入mysql新用户:
      insert into mysql.user(Host,User,Password) values ("localhost","yourusername",password("yourpassword"));
   4.7.使操作生效flush privileges;
   4.8.创建新的databsde

    CREATE DATABASE 'data1' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
   4.9.本地用户赋予所有权限
    grant all privileges on data1.* to yourusername@localhost identified by 'yourpassword'
   4.10.给账号开通外网所有权限
    grant all privileges on data1.* to 'yourusername'@'%' identified by 'yourpassword';
    注:根据自己实际情况决定是否开什么权限

     如:grant select,insert,update on data1.* to yourusername@'192.168.1.2' identified by 'yourpassword';

    代表只开通增改查给指定的账号,并指定ip地址

    4.11.使操作生效:flush privileges;


5、MySQL验证
   5.1.执行ifconfig查看运行mysql服务器的ip地址
   5.2.通过mysql客户端工具进行连接(navicat)


6、MySQL常用命令

    6.1.启动:sudo service mysqld start
    6.2.关闭:sudo service mysqld stop
    6.3.重启:sudo service mysqld restart

linux一般會把Java開發的項目放在哪個目錄下並用Nginx反向代理_MySQL_08

第八步:git的安装

1、git简介
    git是一款免费、开源的分布式版本控制系统
    特点:git是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本管理

2、git安装

    2.1.git版本 2.8.0
    2.2.从github官网下载  或者  在linux执行安装 wget https://github.com/git/git/archive/v2.8.0.tar.gz
        注:是否使用sudo权限执行根据具体环境决定
    2.3.安装依赖: sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

3、git配置

   3.1.配置用户名(提交时会引用)
       git config --global user.name "user1" 把user1替换成自己的用户名
   3.2.配置邮箱(提交时会引用)

      config --global user.email "user1@163.com"

   3.3.其他配置
      git config --global merge.tool "kdiff3" 没有装KDiff3就不用设这一行
      git config --global core.autocrlf false 让Git不要管Windows/Unix换行符转换的事

   3.4.编码配置
      git config --global gui.encoding utf-8  避免git gui中的中文乱码
      git config --global core.quotepath off  避免git status显示中文文件名乱码
   3.5.git ssh key pair配置
      3.5.1.在linux的命令下:ssh-keygen -t rsa -C "user1@163.com"
      3.5.2.然后一路回车,不要输入任何密码之类,生成ssh key pair
      3.5.3.ssh-add ~/.ssh/id_rsa
      3.5.4.cat ~/.ssh/id_rsa.pub
    注:执行ssh-add时出现could not open a connection to your authentication agent
        执行ssh-add ~/.ssh/rsa报标题上的错误先执行 eval 'ssh-agent'(是~键上的`)
        再执行ssh-add ~/.ssh/rsa成功ssh-add -l就有新加的rsa了
     3.5.5.再把其中公钥的内容复制到剪切板
     3.5.6.本教程使用oschina的gitlab,具体根据自己情况来定
     3.5.7.登陆对应的gitlab右上角个人资料
     3.5.8.进入个人ssh公钥配置,把刚粘贴的复制添加进去,确定提交


4、git验证

    4.1.执行git --vision命令,出现版本信息,安装成功



5、git 常用命令
    5.1.切换分支:git checkout 分支名
    5.2.拉取:git pull
    5.3.提交:git push