Centos 7.2 安装配置 Nginx、PHP七、Mysql、JDK、Tomcat、Redis、RAP

如下操做均在阿里云 ECS(Centos 7.2)环境下执行,其余系统环境可能会有些许差异,仅供参考

软件更新

因为系统驱动的兼容性等问题,当前云服务器 ECS Linux 不支持内核升级操做(更多相关说明,能够参阅 ECS 使用须知)。php

通常拿到一台新的服务器,我喜欢先进行软件升级。阿里云ECS不建议升级服务器的内核和操做系统版本,因此,在进行系统软件更新操做时,应该将其剔除。html

下面是查看服务器内核及系统版本,能够看一下在软件升级先后,剔除与否的区别。java

uname -a
lsb_release -a

首先打开 /etc/yum.conf (vi /etc/yum.conf )文件,而后在 [main] 后面加入如下两行代码,这样在软件更新时,就不会升级内核及系统版本了。mysql

exclude=kernel*
exclude=centos-release*

图片描述

而后更新软件,-y 参数是在执行过程当中,遇到的交互默认选择 yes ,若是想看一下软件的更新信息,能够去掉 -y 参数。linux

yum -y update

参考:阿里云ECS(LINUX) 更新时不升级内核配置说明nginx

主机名修改

查看主机名指令web

hostname

阿里云 ECS 默认的主机名是随机生成的,看着不是特别舒服,能够修改 /etc/hostname 文件,将如今的主机名改为本身想要的名称。redis

vim /etc/hostname

而后,按ESC 输入 :wq 保存(vim 基本指令)。reboot(重启),看一下主机名是否已经变动。sql

PS:临时修改主机名,重启后仍是原来主机名。shell

hostname 主机名

直接使用yum安装软件,多是稳定版,但不是新版本,这里使用更换源或者编译安装的方式,安装本身想要的版本

安装NGINX

在更换源以前,能够查看一下系统默认源 Nginx 的版本信息,与换源后作下对比。

yum info nginx

1.为了更换源,首先新建一个repo,例如 nginx.repo

vim /etc/yum.repos.d/nginx.repo

2.编辑内容以下

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

这里配置的是mainline version,若是想用稳定版,将baseurl中的mainline删除便可。

3.进行安装

yum install nginx

4.查看版本

nginx -v

5.开启服务

systemctl start nginx

6.查看状态

systemctl status nginx

至此,Nginx已经安装完成,访问服务器IP地址(域名已经解析,也可使用域名访问),看一下有没有欢迎页面。

图片描述

参考:nginx.org

防火墙配置

若是上述步骤结束后,没有看到欢迎页面,多是防火墙配置形成的(80端口没有开放),Centos 7 默认的防火墙是FirewallD。

FirewallD有图像界面工具firewall-config和命令行工具firewall-cmd,服务器上一般使用命令行工具firewall-cmd。

查看防火墙运行状态

firewall-cmd --state

开启 FirewallD 服务

systemctl start firewalld

查看 FirewallD 状态

systemctl status firewalld

查看 FirewallD 配置

firewall-cmd --list-all

开启默认区域TCP 80 端口,加参数 permanent ,意味着重载后配置永久生效,不加此参数配置马上生效,但 FirewallD 重载后失效。

firewall-cmd --permanent --add-port=80/tcp

防火墙开启的状态下,只需开启 80 端口(Nginx 默认端口),就能够访问页面了。

关闭默认区域TCP 80 端口

firewall-cmd --permanent --remove-port=80/tcp

开启 HTTP 服务(默认配置下等于开启TCP 80端口)

firewall-cmd --permanent --add-service=http

关闭 HTTP 服务(默认配置下等于关闭TCP 80端口)

firewall-cmd --permanent --remove-service=http

重载配置

firewall-cmd --reload

图片描述

参考:CetnOS 7 默认防火墙FirewallD的使用说明

安装PHP

REMI 仓库提供了CentOS和RHEL的核心包的更新版本,尤为是最新的PHP/MySQL系列

在安装过程当中可使用以下命令随时查看仓库变化

yum repolist all

安装REMI仓库以前,首先安装EPEL仓库,由于REMI中的一些包依赖于EPEL

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

接下来安装 REMI 仓库

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

再安装 yum 的配置管理工具,方便配置 yum 仓库

yum install yum-utils

启用 remi-php71 仓库

yum-config-manager --enable remi-php71

最后,安装PHP

yum install php

安装完成后,查看PHP版本以及扩展信息

php --version
php --modules

参考:Remi's RPM repository

安装PHP-FPM,简单理解,PHP-FPM是FastCGI的管理器,FastCGI是处理Nginx转发过来的PHP脚本的。

yum install php-fpm

参考:PHP-FPM是什么

配置Nginx

如今Nginx、PHP、PHP-FPM都安装好了,怎么让PHP脚本跑起来呢?

首先,配置Nginx,简单配置以下:

图片描述

而后在www目录下,写个index.php,内容以下:

<?php
    echo phpinfo();

重启Nginx服务(Nginx更新配置后须要重启生效,若是以前服务没启,直接start就好)

systemctl restart nginx

开启php-fpm服务

systemctl start php-fpm

访问页面,it's work!

图片描述

安装Mysql

Centos 7 默认yum源中由 MariaDB 取代了 Mysql

首先,下载rpm包

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安装rpm包

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

安装mysql

yum install mysql-community-server

开启mysqld服务

systemctl start mysqld

查找初始化密码

grep 'temporary password' /var/log/mysqld.log

使用root帐号登陆

mysql -uroot -p

修改root帐号密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '这里的密码要复杂些,要否则会提示不安全,修改失败';

图片描述

固然,若是须要远程访问数据库的话,还须要设置权限(这里是赋予任何主机访问数据的权限,只是举个栗子,不建议这么作)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这时候,就能够远程访问数据库了,若是访问不了,看一下是否是防火墙的问题。

参考:mysql

如今一套LNMP环境就搭建好了,接下来搭建JDK + TOMCAT

安装JDK

下载JDK rpm,由于官网下载须要接受许可,因此直接wget url的方式是行不通的,也能够先下载到本地再传到服务器上面。

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.rpm

下载完成能够 ls 看一下是否存在,而后安装rpm,注意包名跟本身下载的保持一致哦

rpm -ivh jdk-8u101-linux-x64.rpm

小插曲:在安装过程当中,我不当心按了Ctrl+C,安装过程当中断退出了,没有安装完,我想卸载从新安装。

因此我先查看已经安装的jdk rpm

rpm -qa | grep jdk

而后卸载

rpm -e 包名

发现报错,卸载不了,我想多是安装未完成致使的。因此我就升级RPM包

rpm -Uvh jdk-8u101-linux-x64.rpm

恩,这样应该没问题了。不行,仍是不放心,又卸载了,从新安装了一遍。- -!

回到正题,安装完成后,配置环境变量,在/etc/profile文件中加入以下内容:

export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

图片描述

从新加载文件

source /etc/profile

查看安装是否成功

java -version
javac -version

也能够写个简单的demo,vim demo.java,内容以下:

class demo {
    public static void main(String[] args) {
        System.out.println("It's work!");
    }
}

编译执行

javac demo.java
java demo

看到 It's work! 说明安装配置成功。

参考:oracle

安装Tomcat

下载tar包

wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.0.M11/bin/apache-tomcat-9.0.0.M11.tar.gz

解压

tar zxvf apache-tomcat-9.0.0.M11.tar.gz

将解压后的文件移到本身想要的位置,好比

mv apache-tomcat-9.0.0.M11 /usr/local/tomcat

运行Tomcat

cd bin
./startup.sh

中止Tomcat

./shutdown.sh

访问8080端口(Tomcat默认8080端口),就会看到汤姆猫。

图片描述

参考:Tomcat

安装Redis

下载Redis

wget http://download.redis.io/releases/redis-3.2.4.tar.gz

解压,并移到想要的位置

tar zxvf redis-3.2.4.tar.gz
mv redis-3.2.4 /usr/local/

进入redis目录,编译

cd /usr/local/redis-3.2.4
make

这是可能会遇到以下问题:

图片描述

这是因为没有安装GCC,安装GCC

yum install gcc

安装完成后,再make,又遇到以下问题:
图片描述

Allocator  
Selecting a non-default memory allocator when building Redis is done by setting  
the `MALLOC` environment variable. Redis is compiled and linked against libc  
malloc by default, with the exception of jemalloc being the default on Linux  
systems. This default was picked because jemalloc has proven to have fewer  
fragmentation problems than libc malloc.  
To force compiling against libc malloc, use:  
    % make MALLOC=libc  
To compile against jemalloc on Mac OS X systems, use:  
    % make MALLOC=jemalloc

这是因为默认使用jemalloc分配器,可是系统没有jemalloc,可使用以下命令强制使用libc解决:

make MALLOC=libc

好像一切不是那么顺利,又出现了下面这个错误:

图片描述

找了半天不知道什么缘由,网上查资料也没查到,根据以往的经验,删除,从新解压安装。
此次直接make,而不是make MALLOC=libc,就莫名其妙的好了,好了,好了。。。

安装完成后会提示,执行make test,检测安装是否成功。

接着执行make test,会有提示须要tcl

图片描述

安装完tcl,再执行make test就没问题了。

图片描述

终于编译完成了,接下来安装

make install

执行

redis-server

看到这个熟悉的画面了吗?到这里算是安装完成了。

图片描述

参考:Redis

上来就吧啦吧啦装了一堆软件,这是要干吗呢,其实我只想部署个RAP而已,由于RAP须要Java Web环境和Mysql、Redis,就顺手把LNMP环境也搭了一遍。

好了,如今环境都搭好了,能够部署RAP了

部署RAP

首先下载RAP的war包

wget http://rap.taobao.org/release/RAP-0.14.1-SNAPSHOT.war

下载完成后将war包,移到Tomcat的webapps目录下,并重命名为ROOT.war

mv RAP-0.14.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war

1.确保Tomcat处于开启状态,该war包将自动部署到文件夹ROOT,打开ROOT中的WEB-INF/classes/config.properties 来修改数据库配置。

2.修改redis.conf,打开daemonize,使其后台启动,如图:

图片描述

开启Redis,载入刚才修改的配置

redis-server redis.conf

查看Redis是否处于运行状态

ps -ef | grep redis

3.开启Mysql,初始化数据库

cd tomcat/webapps/ROOT/WEB-INF/classes/database
mysql -uroot -p < initialize.sql

4.最好重启一下Tomcat服务,而后访问8080端口,bingo~

图片描述

NGINX转发

简单作了nginx的转发,使不一样域名指向同一端口

server {
    listen       80;
    server_name  rap.aniceday.cn;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

}
相关文章
相关标签/搜索