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

Centos 7.2 安裝配置 Nginx、PHP7、Mysql、JDK、Tomcat、Redis、RAP

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

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

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

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

exclude=kernel
exclude=centos-release

圖片描述

然後更新軟件,-y 參數是在執行過程中,遇到的交互默認選擇 yes ,如果想看一下軟件的更新信息,可以去掉 -y 參數。

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

主機名修改
查看主機名指令

hostname
阿里雲 ECS 默認的主機名是隨機生成的,看着不是特別舒服,可以修改 /etc/hostname 文件,將現在的主機名改成自己想要的名稱。

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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章