Centos7 安裝配置 Nginx、MySql、Redis 的運行環境

本文主要講訴瞭如何搭建服務器環境及相關配置。html

閱讀本文大約須要 6 分鐘。node

背景

如今的Java項目大多不僅僅採用一個應用服務器(如:Tomcat、Apatch等) 來部署,可能有不少項目須要部署可是80端口只有一個,也有可能有項目是單個應用服務器沒法承載的,須要用到負載均衡的等等狀況,這裏咱們可使用 Nginx 反向代理服務器來完成,所須要的環境爲:Nginx、Mysql、JDK等。mysql

Nginx 安裝及配置

介紹

Nginx 在維基百科和百度百科中的定義爲:異步框架的網頁服務器,也能夠用做反向代理、負載平衡器和HTTP緩存。他的優勢有不少,什麼高併發,模塊化,性能好等等這裏就很少介紹了。nginx

安裝

安裝方式

安裝 Nginx 主要有兩種方式,一種是經過 yum 源直接安裝,另外一種是經過編譯安裝。c++

1、yum 源安裝的優勢:正則表達式

  • 安裝方式簡單,不易出錯;
  • 能夠經過系統服務命令 service 來啓動或中止;

缺點:redis

  • 不能指定安裝目錄
  • 沒法指定安裝模塊

2、編譯安裝的優勢:算法

  • 可指定安裝目錄
  • 可靈活的添加須要的模塊

缺點:sql

  • 安裝複雜

這裏咱們將採用編譯安裝的方式進行安裝。shell

編譯安裝
一、檢查依賴軟件

檢查並安裝 Nginx 所需的依賴軟件

  1. gcc:nginx編譯依賴gcc環境

    安裝命令:yum install gcc-c++

  2. pcre:(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用 pcre來解析正則表達式.

    安裝命令:yum install -y pcre pcre-devel

  3. zlib:該庫提供了不少種壓縮和解壓縮的方式,nginx使用zlib對 http包的內容進行gzip。

    安裝命令:yum install -y zlib zlib-devel

  4. openssl:一個強大的安全套接字層密碼庫,囊括主要的密碼算法、經常使用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。nginx不只支持http 協議,還支持https

    安裝命令:yum install -y openssl openssl-devel

二、安裝 nginx

點擊進入 nginx 官網 裏面有最新的主線版本、穩定版和歷史版本,這裏咱們選擇最新的主線版本--1.17.6,即:

  1. 咱們建立一個 download 目錄來存放下載下來的文件,而後進入該目錄:
mkdir download
cd download
複製代碼
  1. 接着下載 Nginx 1.17.6 的主線版本 ,下載命令:
wget https://nginx.org/download/nginx-1.17.6.tar.gz
複製代碼
  1. 解壓縮源碼包並進入,命令以下:
tar -zxvf nginx-1.17.6.tar.gz
cd nginx-1.17.6
複製代碼
  1. 配置編譯參數命令(重要),配置以下:
./configure \
--prefix=/mnt/sdc/server/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-pcre=../pcre-8.43
--with-http_ssl_module --with-http_v2_module \
--with-http_gzip_static_module \
--with-http_gunzip_module \
--with-stream \
--with-stream_ssl_module \
--with-http_sub_module \
--with-http_flv_module \
--with-http_addition_module \
--with-http_realip_module \
--with-http_mp4_module \
--with-ld-opt=-Wl,-E \
--with-cc-opt=-Wno-error \
--with-pcre-jit \
--with-http_stub_status_module
複製代碼

注:

執行以前咱們須要下載並解壓 pcre ,這裏咱們使用 pcre 源碼編譯的方式讓 Nginx 支持 pcre 模塊,這裏選擇的版本是--8.43,下載命令:

wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
tar -zxvf pcre-8.43.tar.gz
複製代碼

安裝以前須要手動建立上面指定的nginx文件夾,分別是 --prefix 指定的目錄、 /var/run/nginx、/var/temp 和 /var/temp/nginx

mkdir /var/run/nginx
mkdir /var/temp
mkdir /var/temp/nginx
複製代碼
  1. 編譯並安裝
make && make install
複製代碼

等待安裝完成,驗證是否安裝成功,能夠進入 --prefix 指定的目錄查看是否存在conf、sbin、html文件夾,若存在則安裝成功。

啓動
  1. 進入安裝目錄
cd /mnt/sdc/server/nginx/sbin
複製代碼
  1. 啓動
./nginx
複製代碼
  1. 查看是否啓動

打開瀏覽器,輸入你服務器的IP地址,看是否出現以下界面,沒有出現能夠檢測一下服務器的安全組或防火牆,看看80和443的端口是否開啓,開啓便可。

  1. 中止
  • 快速中止:
./nginx -s stop
複製代碼
  • 完整中止(建議使用)
./nginx -s quit
複製代碼
  1. 從新加載配置
./nginx -t # 測試配置文件是否有問題,出現test is successful 表明配置文件沒有問題
./nginx -s reload # 從新加載配置
複製代碼
修改 Nginx 配置

執行./nginx啓動nginx,這裏可使用-c指定加載的nginx配置文件,若是不指定,nginx在啓動時默認加載conf/nginx.conf 文件。

咱們打開 nginx.conf

vi conf/nginx.conf
複製代碼

修改成:

worker_processes  2; # 能夠根據服務器的核數來填寫

events {
    worker_connections  4096; # 能夠根據服務器的核數來填寫
}


http {
    include       mime.types; #文件擴展名與文件類型映射表
    default_type  application/octet-stream; #默認文件類型
    sendfile on; #開啓高效文件傳輸模式,sendfile指令指定nginx是否調用sendfile函數來輸出文件,對於普通應用設爲on,若是用來進行下載等應用或磁盤IO重負載應用,可設置爲off,以平衡磁盤與網絡I/O處理速度,下降系統的負載。注意:若是圖片顯示不正常 把這個改爲off。
    autoindex on; #開啓目錄列表訪問,適合下載服務器,默認關閉。
    tcp_nopush on; #防止網絡阻塞
    tcp_nodelay on; #防止網絡阻塞
    keepalive_timeout 120; #長鏈接超時時間,單位是秒
    gzip on; #開啓gzip壓縮輸出

    server {
        listen       80;
        server_name  localhost;

    }

    include /mnt/sdc/server/nginx/project/*.conf; # 加載其餘配置,能夠分項目建立,xxx.conf.

}
複製代碼

Mysql 5.7 安裝及修改數據庫目錄

下載 Mysql yum包

使用wget 直接下載:

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
複製代碼

安裝軟件源

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
複製代碼

安裝 Mysql 服務端

yum install  -y  mysql-community-server

複製代碼

這裏的安裝須要等待一會

Mysql 操做

service mysqld start # 啓動mysql
service mysqld status # 檢查mysql的運行狀態
service mysqld stop # 中止mysql
service mysqld restart # 重啓mysql

複製代碼

修改臨時密碼

  1. 查看臨時密碼

爲了增強安全性,MySQL5.7爲root用戶隨機生成了一個密碼,在error log中,關於error log的位置,若是安裝的是RPM包,則默認是/var/log/mysqld.log。 只有啓動過一次mysql才能夠查看臨時密碼

能夠經過命令來查看臨時密碼:

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

複製代碼
  1. 登陸並修改
mysql -h127.0.0.1 -uroot -p # 登陸

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx'; # 修改密碼爲xxxx

複製代碼

這裏的密碼設置須要複雜一點,若是密碼設置的太過於簡單,會發生以下的提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解決方案:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

受權其餘機器登陸

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH  PRIVILEGES;

複製代碼

修改mysql的數據庫目錄位置

第一步:建立目錄

在你想要的地方建立data目錄,如在 /mnt/sdc/mysql/data

mkdir -p /mnt/sdc/mysql/data & cd  /mnt/sdc/mysql/data

複製代碼
第二步:中止服務

停掉mysql服務

mysqladmin -u root -p shutdown
Enter password:

複製代碼
第三步:遷移目錄

/var/lib/mysql 的目錄遷移到 /mnt/sdc/mysql/data

mv /var/lib/mysql /mnt/sdc/mysql/data/

複製代碼
第四步:設置權限

設置 /mnt/sdc/mysql/data/mysql 文件夾的所屬和權限

chown -R mysql:mysql /mnt/sdc/mysql/data/mysql

複製代碼
第五步:修改配置

修改 socket 爲:/mnt/sdc/mysql/data/mysql/mysql.sock

修改 datadir 爲:/mnt/sdc/mysql/data/mysql

設置一個SELinux

setenforce 0

複製代碼
最後:從新啓動
service mysqld start

複製代碼

Redis 的安裝與設置

一、下載

到 redis 官網下載最新穩定版的 redis,下載地址:redis.io/download,當前最新版爲:5.0.7

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

複製代碼

二、解壓安裝

下載完成後,解壓 redis-5.0.7.tar.gz

tar -zxvf redis-5.0.7.tar.gz 

複製代碼

進入解壓的目錄

cd redis-5.0.7

複製代碼

使用 PREFIX 能夠把 redis 安裝到指定目錄: 這裏安裝的目錄是 /mnt/sdc/server/redis

make PREFIX=/mnt/sdc/server/redis install

複製代碼

四、設置開機啓動

在解壓的 redis 目錄下的 utils 裏面找到 redis_init_script,將其拷貝到 /etc/init.d 目錄下,重命名爲redis,進入到 /etc/init.d/ 目錄:

cd utils/
 cp redis_init_script /etc/init.d/redis
 cd /etc/init.d/

複製代碼

使用 vi 編輯 redis

  1. 在腳本的第一行後面添加一行內容以下:
#chkconfig: 2345 80 90 

複製代碼
  1. 根據本身的安裝目錄修改如下5個參數的實際路徑:
REDISPORT=6379   #端口 
EXEC=/mnt/sdc/server/redis/bin/redis-server   #啓動服務的命令路徑
CLIEXEC=/mnt/sdc/server/redis/bin/redis-cli    #客戶端路徑
PIDFILE=/var/run/redis_${REDISPORT}.pid   #記錄pid(進程id)文件路徑
CONF="/mnt/sdc/server/redis/${REDISPORT}.conf"        #配置文件路徑

複製代碼
  1. 更改 redis 開啓的命令,增長‘&’來之後臺運行的方式執行:
$EXEC $CONF & 

複製代碼
  1. 將 Redis 註冊成爲服務
chkconfig --add redis  # 註冊成爲服務
 chkconfig --list redis  # 查看開機自啓的服務中是否已經有咱們的redis

複製代碼

下面表明已加入開機自啓的服務

五、redis 配置文件設置

進入redis目錄複製 redis.conf 文件到 /mnt/sdc/server/redis/ 文件下,修改起文件爲:端口號.conf

打開 端口號.conf

修改 daemonize no 爲 `daemonize yes。

六、啓動,中止 redis 服務

service redis start  
service redis stop

複製代碼

結尾

到此,本文就結束了,若有不當之處敬請指正,一塊兒學習探討,謝謝🙏。

相關文章
相關標籤/搜索