Laravel 之道特別篇一: yum 安裝 LNMP 環境

yuanshang發表於2018-09-19

導語

雖然,當今在 CentOS(版本為7) 中搭建 LNMP 環境,我們可以使用 寶塔 或者 LNMP一鍵安裝包;但是,我們作為一名程式設計師,尤其是後臺程式設計師,如果,僅僅藉助這第三方安裝搭建 LNMP,會阻礙我們的成長和進步。尤其對我們這種不摸透原理,誓不罷休的強迫症患者來說,更為嚴重。

上面這段話,說著玩哈,有方便的工具為什麼不用呢,你說是不。當然多學點其它方式,對我們還是有好處的。今天我就把 yum 安裝 nginx1.14、php7.2、mysql5.7 教給大家,同時給自己記錄一下筆記,方便以後查詢。

一、安裝前準備

  • 安裝 VMware 虛擬機器(我們在 WIN10 上透過虛擬機器安裝 CentOS7)

    官方下載地址

file

這款軟體並不是開源的,我建議有能力的小夥伴,能支援一下正版,就支援一下哈。實在不行滴,,,百度找 vmware14 啟用碼。這裡我就不貼啦,有問題找度娘,什麼問題都能解決。

  • 下載 CentOS7

官方下載地址

自己選擇一個離自己最近的下載地址,建議選用 163 的下載地址

二、關於安裝 CentOS系統

太長了,不在這嗶嗶啦。直接上我學習 Linux 基礎的筆記分享地址,主要看系統安裝這塊,其它的,有興趣的同學,可以看看。

Linux 達人養成

安裝好以後,在虛擬機器上啟動,使用 Xshell 工具連線已經安裝好的 CentOS:

file

Xshell_6 社群免費版下載地址

選擇 Xshell 的 download 按鈕,然後填寫社群或者學校資訊,最後 submit 後,就可以下載了

  • 注意安裝完 CentOS 後

一定要設定 DNS 解析,否則無法使用 yum 工具

騰訊DNS:119.29.29.29
114DNS:114.114.114.114

三、安裝 Nginx1.14

  • 第一步,獲取 yum 源

nginx 官方 yum 源

file

看到沒,複製圖片大紅框的內容

  • 第二步,在 CentOS 中新建 yum 源

1、進入 yum 源管理目錄

cd /etc/yum.repos.d/

2、新建並編輯 nginx yum 原始檔 nginx.repo

vim nginx.repo

3、將複製好的 nginx yum 源內容,貼上到 nginx.repo

file

4、修改 baseurl

baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/

# 改為

baseurl=http://nginx.org/packages/centos/7/$basearch/

如圖

file

5、儲存退出: esc -> :wq -> enter

6、測試 yum 源安裝是否成功

yum list | grep nginx

第一次執行 yum list 可能需要尋找可用的 yum 源地址,並做快取。此過程如果失敗,重新執行一下上面的命令,因為網路環境並不是一成不變的。

file

如上圖,多執行幾次 yum list | grep nginx ,最後能夠穩定顯示上面的內容,即為 nginx yum 源安裝成功

  • 第三步,安裝 nginx
yum -y install nginx
  • 第四步,測試 nginx 是否安裝成功
nginx -v

file

  • 第五步,需要關閉防火牆和 selinux(因為這是測試環境,不需要域名,生產環境,不要關閉這兩項)
iptables -F
setenforce 0

注意:每次系統重啟,都要關閉一下,要不訪問不了 80 埠哦

  • 第六步,CentOS 根目錄新建 www/wwwroot 目錄用來存放網站專案目錄
mkdir /www
mkdir /www/wwwroot
  • 第七步,在 /www/wwwroot 新建測試目錄 default,並在測試目錄下新建一個 index.html 測試檔案
mkdir /www/wwwroot/default
cd /www/wwwroot/default
vim index.html

然後在 index.html 輸入 Hellow World!!! 內容,用來做測試

  • 第八步,進入 /etc/nginx/conf.d ,並修改裡面的 default.conf
cd /etc/nginx/conf.d
vim default.conf

file

將上圖中紅框內容修改為 /www/wwwroot/default;

  • 第九步,啟動 nginx,並檢視啟動狀態
systemctl start nginx
systemctl status nginx

file

如圖 綠點並提示有 active (running) 即為啟動成功。

  • 第十步,瀏覽器訪問 虛擬機器的IP地址

file

四、安裝 PHP7.2

php7.2 版本的 yum 源在 webtatic 上,但還有一部分需要依賴 epel-release

  • 第一步,安裝 epel-release

EPEL(Extra Packages for Enterprise Linux ),是基於Fedora的一個專案,為“紅帽系”的操作系統提供額外的軟體包,適用於RHEL、CentOS和Scientific Linux。

yum -y install epel-release

安裝完成後,在 /etc/yum.repos.d 目錄下,就會多一個 epel.repo 的檔案,還有一個 testing 的測試檔案。當系統透過 yum 進行安裝軟體時,如果需要 epel 裡的擴充套件包,就會自動下載安裝。

file

  • 第二步,安裝 webtatic yum 源
rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝完成後,在 /etc/yum.repos.d 目錄下會多出 webtatic.repowebtatic-archive.repo 兩個檔案,還有一個 testing 的測試檔案。

  • 第三步,檢視 php 可以安裝的包
yum list | grep php72

file

上面這些 rpm 包就是 webtatic 的 yum 源裡面的包啦

我們要安裝的就是 php72 的核心包 mod_php72w 和核心擴充套件包 php72w-cliphp72w-fpmphp72w-commonphp72w-devel

其它擴充套件選項包請根據需要安裝,例如需要 php72w-gd 後期可單獨安裝

  • 第四步,安裝 php72
yum -y install mod_php72w php72w-cli php72w-fpm php72w-common php72w-devel

透過這種方式安裝的 php72 的 php.ini 檔案與我們認識的不太一樣,它類似於 nginx.conf 存在一個主配置,透過型別 include 方法,包含指定資料夾下的模組配置檔案。

如圖,是 /etc 資料夾:

file

  • 第五步,在 /www/wwwroot 下新建 learn 資料夾,並在此資料夾下,新建 index.php 檔案,輸入下列內容
<?php
phpinfo();
  • 第六步,在 /etc/nginx/conf.d 下面新建 learn.conf nginx配置檔案,輸入下列內容
server {
    listen 8080;
    server_name localhost;
    root /www/wwwroot/learn;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        root /www/wwwroot/learn;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
  • 第七步,重啟 nginx 與啟動 php-fpm
systemctl restart nginx
systemctl start php-fpm
  • 第八步,瀏覽器訪問 IP:8080

file

五、安裝 MySQL5.7

  • 第一步,安裝 mysql 官方 yum 源
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  • 第二步,檢視 MySQL yum 源
yum list | grep mysql

file

發現只有 mysql80 的包,這是因為沒有開啟 mysql57 的包

  • 第三步,關閉80包,開啟57包
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

這個時候再檢視 mysql 包列表

yum list | grep mysql

file

57版本的包,就這樣開啟了

  • 第四步,安裝 mysql57
yum -y install mysql-community-server mysql-community-client
  • 第五步,啟動 mysql
systemctl start mysqld
  • 第六步,檢視密碼
grep 'temporary password' /var/log/mysqld.log
  • 第七步,登入 mysql,修改密碼
mysql -uroot -p
# 輸入密碼
set password for root@localhost = password('你的密碼'); 

如果提示錯誤,那是因為 mysql57 對密碼的複雜度進行了限制,依次執行下列命令,取消複雜度限制,再修改

set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;

最後

LNMP 已經安裝完畢。

特別篇第二章,講一下 PhpStrom 實現原生程式碼與遠端程式碼同步功能,此功能極大提高開發效率,省下了,不斷手動上傳程式碼麻煩。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
我們是一群被時空壓迫的孩子。 ---- 愛因斯坦

相關文章