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

Centos 7.2 安裝配置 Nginx、PHP七、Mysql、JDK、Tomcat、Redis、RAPphp

如下操做均在阿里雲 ECS(Centos 7.2)環境下執行,其餘系統環境可能會有些許差異,僅供參考
軟件更新
因爲系統驅動的兼容性等問題,當前雲服務器 ECS Linux 不支持內核升級操做(更多相關說明,能夠參閱 ECS 使用須知)。java

通常拿到一臺新的服務器,我喜歡先進行軟件升級。阿里雲ECS不建議升級服務器的內核和操做系統版本,因此,在進行系統軟件更新操做時,應該將其剔除。mysql

下面是查看服務器內核及系統版本,能夠看一下在軟件升級先後,剔除與否的區別。linux

uname -a
lsb_release -a
首先打開 /etc/yum.conf (vi /etc/yum.conf )文件,而後在 [main] 後面加入如下兩行代碼,這樣在軟件更新時,就不會升級內核及系統版本了。nginx

exclude=kernel
exclude=centos-release

圖片描述web

而後更新軟件,-y 參數是在執行過程當中,遇到的交互默認選擇 yes ,若是想看一下軟件的更新信息,能夠去掉 -y 參數。redis

yum -y update
參考:阿里雲ECS(LINUX) 更新時不升級內核配置說明sql

主機名修改
查看主機名指令數據庫

hostname
阿里雲 ECS 默認的主機名是隨機生成的,看着不是特別舒服,能夠修改 /etc/hostname 文件,將如今的主機名改爲本身想要的名稱。apache

vim /etc/hostname
而後,按ESC 輸入 :wq 保存(vim 基本指令)。reboot(重啓),看一下主機名是否已經變動。

PS:臨時修改主機名,重啓後仍是原來主機名。

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;
}

}

相關文章
相關標籤/搜索