1. 程式人生 > >轉載:centos7 安裝php7+mysql5.7+nginx+redis

轉載:centos7 安裝php7+mysql5.7+nginx+redis

 

 

 

、1.先修改yum源  https://webtatic.com

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2.安裝nginx

yum install nginx

3.安裝mysql5.7

yum -y install mysql-community-server

4.安裝php

 yum install php70w-devel php70w.x86_64 php70w-pecl-redis  php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64  php70w-pdo.x86_64   php70w-mysqlnd  php70w-fpm php70w-opcache

5.開始簡單的配置

新增執行目錄

mkdir -p /var/run/mysqld/
chown mysql.mysql /var/run/mysqld/

 

mysql 配置

vim /etc/my.cnf

在[client] 下面新增
default-character-set=utf8

在 [mysqld] 下面新增

character_set_server=utf8
init_connect='SET NAMES utf8'

collation-server=utf8_general_ci

儲存退出

獲取初始密碼

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

得到

注意 裡面包括開頭的 ;號

然後登陸mysql 修改密碼

alter user [email protected] identified by 'tyzZ001!'

如果密碼太過於簡單可能不然修改因為mysql預設設定了密碼複雜度 至少8位 必須包含 大小寫字母數字及符號

檢視密碼策略:

show variables like '%password%';

說明:

validate_password_dictionary_file:密碼策略檔案,策略為STRONG才需要 

validate_password_length:密碼最少長度 

validate_password_mixed_case_count:大小寫字元長度,至少1個 

validate_password_number_count :數字至少1個 

validate_password_special_char_count:特殊字元至少1個 上述引數是預設策略MEDIUM的密碼檢查規則。

validate_password_policy:密碼策略,預設為MEDIUM策略 ,共有如下三種密碼策略:

0 or LOW                 Length

1 or MEDIUM           Length; numeric, lowercase/uppercase, and special characters

2 or STRONG          Length; numeric, lowercase/uppercase, and special characters; dictionary file

可以通過 set  GLOBAL validate_password_policy=0 來修改

或者修改/etc/my.cnf檔案

validate_password_policy=0 #0(LOW),1(MEDIUM),2(STRONG)其中一種,注意2需要提供密碼字典檔案

 如果不需要密碼策略,新增my.cnf檔案中新增如下配置禁用即可:

validate_password = off  

新增一個可以在外部登陸的mysql使用者

grant all privileges on *.* to 建立的使用者名稱 @"%" identified by "密碼";
flush privileges;  

 

注意修改配置檔案後需要重啟mysql

配置nginx:

nginx可以的預設配置檔案一般在:

/etc/nginx/nginx.conf

使用 cat 檢視一下配置檔案 

這行表示nginx會引用  conf.d 這個資料夾下面所有.conf字尾的檔案

那麼在conf.d下面我們來建立我們自己的配置檔案

vim /etc/nginx/conf.d/user.conf

在裡面寫入:

複製程式碼

server {
    listen       80;#埠
    server_name admin.com  www.admin.com; # 域名

    root /home/www/web/newomcat/admin; # 網站根目錄
    index index.php index.html index.htm;#預設的index

    # 建議放內網
    # allow 192.168.0.0/24;
    # deny all;

    location / {

if (!-e $request_filename) {
 rewrite ^/(.*)$ /index.php?$1 last;#去除url中的index.php 不需要可以不寫

}


    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

複製程式碼

這樣 簡單的lnmp就安裝好了 

systemctl restart php-fpm   #啟動php
systemctl restart nginx #啟動nginx
systemctl restart  mysqld #啟動mysql

 

6安裝redis

下載原始碼包:

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

或者使用yum安裝也可以

yum install redis

解壓下載好的遠嗎包:

tar -zxf redis-3.2.5.tar.gz

進入解壓後的資料夾

cd redis-3.2.5

make編譯安裝

make

安裝完成後 在目錄下會有一個 src目錄裡面放的是 redis的命令 當前目錄下會有一個redis.conf 這個是 redis的配置檔案  我們需要對他們進行處理一下放別以後的使用

建立兩個目錄

mkdir -p /usr/local/redis/bin  命令目錄
mkdir -p /usr/local/redis/etc  配置檔案目錄

將配置檔案移動到/usr/local/redis/ext 目錄   將 src下的mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb 這個幾個檔案移動到/usr/local/redis/bin這個目錄

mv ./redis.conf /usr/local/redis/etc/
mv   mkreleasehdr.sh   redis-benchmark   redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server redis-trib.rb  /usr/local/redis/bin/

開啟  /usr/local/redis/etc/redis.conf 檔案 修改配置 讓redis在啟動時在後臺執行

找到這一項 改為  yes 原來為 no

最後將其註冊為系統服務

在/etc/init.d/目錄下建立redis 檔案

vim /etc/init.d/redis

寫入內容

複製程式碼

###########################  
#!/bin/sh
#chkconfig: 2345 10  90
#description:auto_run
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/etc/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF
        fi
        if [ "$?"="0" ]
        then
              echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac
########################### 

複製程式碼

儲存退出

設定許可權

chmod +x /etc/init.d/redis

 

設定自動啟動:

chkconfig redis on

設定 mysql php nginx 自動啟動

 systemctl enable redis
 systemctl enable php-fpm
 systemctl enable mysqld
systemctl enable nginx