YUM部署高版本LNMP環境

科技小能手發表於2017-11-12

現狀:

yum epel源自帶php mysql nginx版本較低不能滿足測試和生產環境中程式效能及安全需求


LNMP–>Web環境快速部署

需求:

yum源帶的php版本也是5.4, 當我們需要使用5.6或者7.0版本的PHP時, 就只能編譯安裝了. 但有時候我們不想處理一些依賴問題, 希望能夠通過yum, 快速部署, 這個時候就需要引入第三方yum源

WEBTATIC國外第三方EPEL

https://webtatic.com/packages/


PHP第三方EPEL源

CentOS 6.x 源

1
2
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

CentOS 7.x 源

1
2
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

可以通過命令檢視該源對應的安裝包

1
yum list --enablerepo=webtatic|grep php

部署LNMP環境步驟—–>安裝Mysql—->安裝PHP—>NGINX

以安裝php7.1版本示例

1
yum install php71w php71w-fpm php71w-common php71w-gd php71w-mbstring php71w-mcrypt  php71w-mysqlnd php71w-pdo php71w-bcmath -y

安裝php5.6版本示例:

1
yum install php56w php56w-fpm php56w-mysql php56w-mcrypt php56w-bcmath php56w-gd php56w-mbstring php56w-pdo -y

簡單介紹下各個PHP元件功能

# 基礎

 php71w

# nginx連線使用

   php71w-fpm

# 寬位元組

   php71w-mbstring

# 連線mysql相關

  php71w-mysqlnd

# redis擴充套件

   php71w-pecl-redis

# 加密使用

   php71w-mcrypt

# 效能加速 php5.5 以上使用

    php71w-opcache

安裝這些基本的可以滿足大量需求, 至於有些擴充套件, 會在安裝這些庫的時候附加進去


Mysql官方yum EPEL

介紹CentOS 6.x Platform自帶的版本都是5.1, 當然MySQL網站上自然有提供相應的yum方法, 可能大多人並沒在意.

CentOS 7.x 系列都自帶MariaDB


官方介紹連結:https://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html

1
2
3
4
5
6
7
8
# 更新 yum 源
    yum update 
# 新增 mysql5.6 yum 源
   # Centos6
    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  # Centos7
    rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    yum install mysql-server

安裝完成, 啟動Mysql服務

1
2
3
4
5
6
# 啟動
service mysqld start
# 重啟
service mysqld restart
# 關閉
service mysqld stop

如果出現啟動失敗, 首先檢查埠號是否被暫用, 其次檢查許可權問題, 另外還需要檢查mysql程式

設定 mysql 密碼

1
2
3
4
5
6
7
8
9
10
11
mysqladmin -uroot password 123456
允許遠端訪問
mysql -u root
mysql> use mysql;
# 允許外部連線資料庫
mysql> update user set host = `%` where host= `127.0.0.1`;
# 檢視修改結果
mysql> select host, user, password from user;
# 重新整理許可權表(此操作一定要執行, 否則需要重啟mysql)
mysql> flush privileges;
記住, 通過客戶端連線成功後, 一定要設定密碼, 如果開啟了防火牆, 需要放開資料庫對外埠, 一般為3306

重置root使用者密碼(此操作分兩種情況)

1、記得 root 使用者密碼

      # 其中 123456 為原密碼, 不能與-p分開, abcdefg 為新密碼

      mysqladmin -u root -p123456 password abcdef

2、忘記 root 使用者密碼

     # 如果 MySQL 正在執行, 先關閉

        killall -TERM mysqld

     # 啟動 MySQL 

         mysqld_safe –skip-grant-tables &

     # 此時就是免密進入 MySQL

        > use mysql

        > update user set password=password(“new_pass”) where user=”root”;

        > flush privileges

        # 退出, 啟動 MySQL 


Nginx部署

官網提供不同OS Platform Version Download

http://nginx.org/en/linux_packages.html#stable




本文轉自 boy461205160 51CTO部落格,原文連結:http://blog.51cto.com/461205160/1943538



相關文章