说明:这些版本都不是基于 Docker 的,下面会针对 7.x 的系统写一篇关于 docker 的安装方式。

首先 Xshell 连好 Linux,将软件源,改为阿里云的镜像
https://developer.aliyun.com/mirror/centos

源配置能干嘛?它的作用是啥?
软件源默认会和系统走,默认的centos是国外的源,他的作用和功能就是,远程源会更新软件,我们本地源会更新索引,安装软件的时候直接从本地源指向远程源进行下载安装哈,方便我们的软件安装哟,因为里面把编译都做好了呢

由于直接使用 root 账户, 所以不需要使用 sudo

1. JDK 安装

java -version 可以看 jdk 版本

① 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/

  • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

② 运行 yum makecache 生成缓存

③ 查看已有的 jdk(默认装有 OpenJdk)

  • rpm -qa|grep jdk
  • 例如显示:
    java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
    java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64

④ 将 OpenJdk删除掉

  • yum remove java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
  • yum remove java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
  • 两次分别输入 y 确定
  • 清理完就这个效果 -bash: /usr/bin/java: No such file or directory

⑤ 安装 JDK(7u80版)

获取到链接 wget 下载,有什么问题可以 rm xxxxx,ll可以看删好了没

wget https://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.rpm?AuthParam=1586352638_eab7e0a152199cc16d8864fddf03a827

给个备用的

wget http://learning.happymmall.com/jdk/jdk-7u80-linux-x64.rpm

下载好以后,可以赋予权限 chmod 777 jdk-7u80-linux-x64.rpm

注:修改权限,是因为下载和使用Jdk的账号不确定,所以777把用户,用户组和其他人这三个都赋予读写执行的权限,我直接使用 root账号,所以没执行这一步

⑥ 解压安装 JDK(默认安装路径为 /usr/java)

rpm -ivh jdk-7u80-linux-x64.rpm

指向到 java目录,ll查询

  1. [root@localhost developer]# cd /usr/java
  2. [root@localhost java]# ll
  3. total 4
  4. lrwxrwxrwx. 1 root root 16 Apr 8 21:48 default -> /usr/java/latest
  5. drwxr-xr-x. 8 root root 4096 Apr 8 21:48 jdk1.7.0_80
  6. lrwxrwxrwx. 1 root root 21 Apr 8 21:48 latest -> /usr/java/jdk1.7.0_80

指向到刚安装的 jdk文件夹下,查看一下

  1. [root@localhost java]# cd jdk1.7.0_80/
  2. [root@localhost jdk1.7.0_80]# ll
  3. total 19800
  4. drwxr-xr-x. 2 root root 4096 Apr 8 21:48 bin
  5. -rw-r--r--. 1 root root 3339 Apr 11 2015 COPYRIGHT
  6. drwxr-xr-x. 4 root root 4096 Apr 8 21:48 db
  7. drwxr-xr-x. 3 root root 4096 Apr 8 21:48 include
  8. drwxr-xr-x. 5 root root 4096 Apr 8 21:48 jre
  9. drwxr-xr-x. 5 root root 4096 Apr 8 21:48 lib
  10. -rw-r--r--. 1 root root 40 Apr 11 2015 LICENSE
  11. drwxr-xr-x. 4 root root 4096 Apr 8 21:48 man
  12. -rw-r--r--. 1 root root 114 Apr 11 2015 README.html
  13. -rw-r--r--. 1 root root 499 Apr 11 2015 release
  14. -rw-r--r--. 1 root root 19947513 Apr 11 2015 src.zip
  15. -rw-r--r--. 1 root root 110114 Mar 17 2015 THIRDPARTYLICENSEREADME-JAVAFX.txt
  16. -rw-r--r--. 1 root root 173571 Apr 11 2015 THIRDPARTYLICENSEREADME.txt

⑦ 配置环境变量

vim /etc/profile 最底部添加环境变量

  1. export JAVA_HOME=/usr/java/jdk1.7.0_80
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  3. export PATH=$JAVA_HOME/bin:$PATH

使配置生效

source /etc/profile

看一眼版本

  1. [root@localhost jdk1.7.0_80]# java -version
  2. java version "1.7.0_80"
  3. Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
  4. Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

2. Tomcat 安装

① 下载 Tomcat

可以去官网,仍然还有一个备用的

wget http://learning.happymmall.com/tomcat/apache-tomcat-7.0.73.tar.gz

② 解压安装

tar -zxvf apache-tomcat-7.0.73.tar.gz

③ 指向到Tomcat目录

cd apache-tomcat-7.0.73

  1. [root@localhost developer]# cd apache-tomcat-7.0.73
  2. [root@localhost apache-tomcat-7.0.73]# ll
  3. total 116
  4. drwxr-xr-x. 2 root root 4096 Apr 8 22:30 bin
  5. drwxr-xr-x. 2 root root 4096 Nov 8 2016 conf
  6. drwxr-xr-x. 2 root root 4096 Apr 8 22:30 lib
  7. -rw-r--r--. 1 root root 56846 Nov 8 2016 LICENSE
  8. drwxr-xr-x. 2 root root 4096 Nov 8 2016 logs
  9. -rw-r--r--. 1 root root 1239 Nov 8 2016 NOTICE
  10. -rw-r--r--. 1 root root 8965 Nov 8 2016 RELEASE-NOTES
  11. -rw-r--r--. 1 root root 16195 Nov 8 2016 RUNNING.txt
  12. drwxr-xr-x. 2 root root 4096 Apr 8 22:30 temp
  13. drwxr-xr-x. 7 root root 4096 Nov 8 2016 webapps
  14. drwxr-xr-x. 2 root root 4096 Nov 8 2016 work

④ 配置环境变量

vim /etc/profile

添加一条

export CATALINA_HOME=/developer/apache-tomcat-7.0.73

使配置生效

source /etc/profile

⑤ 修改配置文件

进入 tomcat 安装的 conf文件夹 编辑 server.xml

[root@localhost developer]# cd apache-tomcat-7.0.73

vim conf/server.xml 通过输入 /8080 快速找到下面的部分,当然自己找也是可以的,标签内添加URIEncoding=”UTF-8”,这样就解决了中文乱码的问题

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" URIEncoding="UTF-8" />

⑥ 验证 Tomcat
进入tomcat目录,进入 bin目录,执行 .startup.sh,出现 下图样式,代表启动成功

  1. [root@localhost bin]# ./startup.sh
  2. Using CATALINA_BASE: /root/developer/apache-tomcat-7.0.73
  3. Using CATALINA_HOME: /root/developer/apache-tomcat-7.0.73
  4. Using CATALINA_TMPDIR: /root/developer/apache-tomcat-7.0.73/temp
  5. Using JRE_HOME: /usr/java/jdk1.7.0_80
  6. Using CLASSPATH: /root/developer/apache-tomcat-7.0.73/bin/bootstrap.jar:/root/developer/apache-tomcat-7.0.73/bin/tomcat-juli.jar
  7. Tomcat started.

ifconfig 查看自身ip

  1. [root@localhost bin]# ifconfig
  2. eth0 Link encap:Ethernet HWaddr 00:0C:29:61:3B:BF
  3. inet addr:192.168.3.144 Bcast:192.168.3.255 Mask:255.255.255.0
  4. inet6 addr: fe80::20c:29ff:fe61:3bbf/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:126843 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:52855 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:170511060 (162.6 MiB) TX bytes:4582398 (4.3 MiB)
  10. lo Link encap:Local Loopback
  11. inet addr:127.0.0.1 Mask:255.0.0.0
  12. inet6 addr: ::1/128 Scope:Host
  13. UP LOOPBACK RUNNING MTU:65536 Metric:1
  14. RX packets:1886 errors:0 dropped:0 overruns:0 frame:0
  15. TX packets:1886 errors:0 dropped:0 overruns:0 carrier:0
  16. collisions:0 txqueuelen:0
  17. RX bytes:129996 (126.9 KiB) TX bytes:129996 (126.9 KiB)

浏览器 192.168.3.144:8080,若访问成功就完成了

⑦ 若显示无法访问

就需要在防火墙中开放 8080 端口

打开配置文件

sudo vim /etc/sysconfig/iptables

按下a,进入编辑

加入这一行

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

按下esc 退出编辑模式,输入 :wq 保存并退出

重启防火墙

sudo service iptables restart

再次启动 Tomcat 去浏览器访问,则可以成功

3. Maven 安装

① 下载 Maven(3.0.5)

可以去官网,或者备用的

wget http://learning.happymmall.com/maven/apache-maven-3.0.5-bin.tar.gz

② 通过tar或unzip进行解压缩

tar -zxvf apache-maven-3.0.5-bin.tar.gz

③ 配置环境变量

增加MAVEN_HOME

有一个坑提醒自己:之前配置一直没加 /root/ 注意看清自己安装的目录

export MAVEN_HOME=/root/developer/apache-maven-3.0.5

添加到 Path

export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

④ 配置生效

source /etc/profile
⑤ 测试一下

mvn -version

4. vsftpd 安装

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

由于其小巧轻快,安全易用,支持虚拟用户,支持带宽限制等功能所以在Linux中非常受推崇

2.2.2-21版本

① 安装 vsftpd

执行 yum -y install vsftpd

注:可通过 rpm -qa| grep vsftpd 检查是否已经安装vsftpd,默认的配置文件在 /etc/vsftpd/vsftpd.conf

② 创建虚拟用户

  • 选择在根或者用户目录下创建ftp文件夹:mkdir ftpfile
  • 添加匿名用户:useradd ftpuser -d /ftpfile/ -s/sbin/nologin
    • 一个没有登录权限的账户
  • 修改 ftpfile 权限:chown -R ftpuser.ftpuser /ftpfile
    • 查看一下权限
    • [root@localhost /]# ll | grep ftp
    • 结果:drwxr-xr-x. 2 ftpuser ftpuser 4096 Apr 9 14:10 ftpfile
  • 重新设置 ftpuser 密码:passwd ftpuser (例如 123456)
  • 在ftpfile文件夹下创个首页 index.html:vim index.html
    • 内容:here is ftpfile
    • /ftpfile

③ 配置

  • vim /etc/vsftpd/vsftpd.conf
    • 找到 banner进行修改:
      ftpd_banner=Welcome to happymmall FTP service.(这一行删掉原来前面的#)
      local_root=/ftpfile
      anno_root=/ftpfile
      use_localtimr=YES
    • 找到 chroot_list 将这两行前面的 #删掉

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

  • 匿名访问设置为 NO 但是学习阶段建议设置为 YES(anonymous_enable=YES)NO需要登录
  • 最下面添加防火墙白名单,最好设置不然就会用默认的,如果防火墙配置比较严格 就会有问题
    pasv_min_port=61001(被动模式使用端口范围最小值)
    pasv_max_port=62000(被动模式使用端口范围最大值)
    • cd /etc/vsftpd
    • vim chroot_list
    • 把刚才新增的虚拟用户添加到此配置文件中,后续要引用 (ftpuser)
    • vim /etc/selinux/config 修改SELINUX=disabled
  • 若一会验证的时候,碰到550拒绝访问 请执行: setsebool -P ftp_home_dir 1
  • 然后重启linux服务器,执行reboot命令

④ 配置防火墙

  • vim /etc/sysconfig/iptables
  1. #vsftpd
  2. -A INPUT -p TCP --dport 61001:62000 -j ACCEPT
  3. -A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
  4. -A INPUT -p TCP --dport 20 -j ACCEPT
  5. -A OUTPUT -p TCP --sport 20 -j ACCEPT
  6. -A INPUT -p TCP --dport 21 -j ACCEPT
  7. -A OUTPUT -p TCP --sport 21 -j ACCEPT
  • 将以上配置添加到防火墙中
  • 重启服务器 :service iptables restart

显示OK就可以了

  1. [root@localhost vsftpd]# service iptables restart
  2. iptables: Setting chains to policy ACCEPT: filter [ OK ]
  3. iptables: Flushing firewall rules: [ OK ]
  4. iptables: Unloading modules: [ OK ]
  5. iptables: Applying firewall rules: [ OK ]

⑤ 验证

  • service vsftpd restart
    • 注:第一次启动时 Shutting down vsftpd是failed不用管,因为这是重启命令,保证Starting vsftpd 是OK即代表vsftpd服务成功
  1. [root@localhost vsftpd]# service vsftpd restart
  2. Shutting down vsftpd: [FAILED]
  3. Starting vsftpd for vsftpd: [ OK ]
  • ftp://ip地址

5. Ngnix 安装

Nninx 是一款轻量级 Web 服务器,也是一款方向代理服务器

作用:

  • 直接支持 Rails 和 PHP 的程序
  • 作为 HTTP 反向代理服务器
  • 作为负载均衡服务器
  • 作为邮件代理服务器
  • 帮助实现前端动静分离

特点:

  • 高稳定,高性能,占用资源少,功能丰富,模块化结构,支持热部署

① 安装依赖

  • 安装 gcc(命令:yum install gcc)
  • 安装 pcre(命令:yum install pcre-devel)
  • 安装 zlib(命令:yum install zlib zlib-devel)
  • 安装 openssl(命令:yum install openssl openssl-devel)
    • 如需支持ssl,才需要安装openssl

综合:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

② 下载源码包

  • 官网:wget http://nginx.org/download/nginx-1.1.0.2.tar.gz
  • 备用:wget http://learning.happymmall.com/nginx/linux-nginx-1.10.2.tar.gz

③ 解压

  • tar -zxvf linux-nginx-1.10.2.tar.gz

④ 安装

进入nginx目录之后执行 ./configure

  • 可以指定安装目录,只需要增加参数 --prefix=/usr/nginx
  • 如果不指定路径,可以通过 whereis nginx进行查询
  • 默认安装在 /usr/local/nginx

执行 make

继续执行 make install

⑤ 测试

启动: ./nginx

查看进程: ps aux|grep **nginx**

  1. [root@localhost sbin]# ps aux|grep nginx
  2. root 7987 0.0 0.0 23968 824 ? Ss 20:10 0:00 nginx: master process ./nginx
  3. nobody 7988 0.0 0.0 24388 1404 ? S 20:10 0:00 nginx: worker process
  4. root 8031 0.0 0.0 103316 848 pts/0 S+ 20:13 0:00 grep nginx

没法访问就需要开放下 80端口

  1. #nginx
  2. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

别忘记重启服务器 :service iptables restart

6. Nginx 反向代理服务器域名解析配置

① 在 nginx conf 下创建新文件夹 vhost 然后编辑 nginx.conf 将 include vhost/*.conf; 写入

cd /usr/local/nginx/conf

由于不是外网,只能在本地测试,所以修改一下 hosts

注意注意!!!:浏览器在哪里就改哪里的,下面改了 Linux的只能在 Linux浏览器访问有效,想要Windows下访问就需要修改 Windows下的hosts

vim /etc/hosts

  1. #centos
  2. 192.168.3.144 www.idealmall.com
  3. 192.168.3.144 image.idealmall.com
  4. 192.168.3.144 s.idealmall.com

② 进入 vhost 创建 vim www.ideal-mall.com.conf

③ 添加端口转发的配置,也就是转发到tomcat

  1. server {
  2. listen 80;
  3. autoindex on;
  4. server_name www.idealmall.com
  5. access_log /usr/local/nginx/logs/access.log combined;
  6. index index.html index.htm index.jsp index.php;
  7. #root /devsoft/apache-tomcat-7.0.73/webapps/mmall;
  8. #error_page 404 /404.html;
  9. if ( $query_string ~* ".*[\;'\<\>].*" ){
  10. return 404;
  11. }
  12. location / {
  13. proxy_pass http://127.0.0.1:8080/;
  14. add_header Access-Control-Allow-Origin '*';
  15. }
  16. }

重启一下

../../sbin/nginx -s reload

7. 文件服务器搭建

之前已经创建好了 www.idealmall.com.conf 接着创建

vim image.idealmall.com.conf

  1. server {
  2. listen 80;
  3. autoindex off;
  4. server_name image.idealmall.com;
  5. access_log /usr/local/nginx/logs/access.log combined;
  6. index index.html index.htm index.jsp index.php;
  7. #error_page 404 /404.html;
  8. if ( $query_string ~* ".*[\;'\<\>].*" ){
  9. return 404;
  10. }
  11. location ~ /(mmall_fe|mmall_admin_fe)/dist/view/* {
  12. deny all;
  13. }
  14. location / {
  15. root /ftpfile/;
  16. add_header Access-Control-Allow-Origin *;
  17. }
  18. }

重启一下

[root@localhost sbin]# ./nginx -s reload

8. MySQL 安装

① 下载安装

yum -y install mysql-server

注:rpm -qa|grep mysql-server 可以通过这个检查是否已经安装

② 字符集配置

默认配置:vim /etc/my.cnf

添加配置:在[mysqld]节点下添加

  1. default-character-set=utf8
  2. character-set-server=utf8

补充:关于中文乱码问题

  • 在 5.1版本的时候,为了解决中文乱码问题,my.ini 内 [mysql] 和 [mysqld] 都会写 default-character-set=utf8
  • 在5.5版本的时候,[mysql] 内可以这么写,[mysqld] 内就不能这么写了,而是写character-set-server=utf8

③ 设置自启动

chkconfig mysqld on

chkconfig --list mysqld 查看,如果 2-5位 都是启用 on 状态就可以了

④ 防火墙配置

vim /etc/sysconfig/iptables

开放 3306 端口

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

重启服务器

service iptables restart

启动失败:MySQL Daemon failed to start.

可以看一下日志 /var/log/mysqld.log

Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

原因是重装的时候数据目录不一致导致

解决方法:

[root@Oracle mysqld]# /usr/bin/mysql_install_db —user=mysql —datadir=/var/lib/mysql/

⑤ 登录

第一次反正也没密码,就不用 -p了 :mysql -u root

  1. select user,host from mysql.user;
  2. +------+-------------------+
  3. | user | host |
  4. +------+-------------------+
  5. | root | 127.0.0.1 |
  6. | | localhost |
  7. | root | localhost |
  8. | | www.idealmall.com |
  9. | root | www.idealmall.com |
  10. +------+-------------------+
  11. 5 rows in set (0.01 sec)

把匿名用户删了

delete from mysql.user where user='';

再查一次

  1. +------+-------------------+
  2. | user | host |
  3. +------+-------------------+
  4. | root | 127.0.0.1 |
  5. | root | localhost |
  6. | root | www.idealmall.com |
  7. +------+-------------------+
  8. 3 rows in set (0.00 sec)

查下数据库

show databases;

  1. +--------------------+
  2. | Database |
  3. +--------------------+
  4. | information_schema |
  5. | mysql |
  6. | test |
  7. +--------------------+

⑥ 创建新用户

insert into mysql.user(Host,User,Password) values("localhost","imall",password("gzah."));

  1. mysql> select user,host from mysql.user;
  2. +-------+-------------------+
  3. | user | host |
  4. +-------+-------------------+
  5. | root | 127.0.0.1 |
  6. | imall | localhost |
  7. | root | localhost |
  8. | root | www.idealmall.com |
  9. +-------+-------------------+
  10. 4 rows in set (0.00 sec)

创建一个数据库

create databaseimalldefault character set utf8 collate utf8_general_ci;

看一下用户的权限 \G 代表显示格式化

select * from mysql.user \G

⑦ 增加权限

新增的用户权限都是N,增加下权限

  1. GRANT ALL PRIVILEGES ON *.* TO 用户名@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
  2. GRANT ALL PRIVILEGES ON *.* TO imall@'%' IDENTIFIED BY 'gzah.' WITH GRANT OPTION;

刷新一下

flush privileges;

⑧ 设置root密码

  1. mysql> set password for root@localhost=password('gzah.');
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> set password for root@127.0.0.1=password('gzah.');
  4. Query OK, 0 rows affected (0.00 sec)

9. git 安装

① 下载

② 安装依赖

-y 代表确认,就不用每一个都输入 y 确认了

sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker

③ 解压

tar -zxvf git-v2.8.0.tar.gz

④ 执行编译

进入解压好的文件夹

make prefix=/usr/local all 这里指定了路径

接着执行

make prefix=/usr/local install

⑤ 测试

git --version