CentOS7.2+PHP7.0.25+Nginx1.12.2+MySQL8.0安裝步驟及采坑排雷心得
由於公司最近新購置了幾台華為雲伺服器,需要從新搭建測試環境,並遷移測試庫(MySQL5.6)數據到新伺服器.(我的伺服器配置:系統盤40G+1T的數據盤)
準備工作:
1,由於全部是新購置的伺服器,因此在安裝之前要做的第一步是
需要注意的地方:
由於新購置的伺服器,默認都是加入了安全組的(似乎阿里雲也是一樣的),因此默認只開通了22埠供ssh使用。當安裝完LNMP後,如果你只是將伺服器上防火牆對應的80,3306埠開放,此處安全組中的對應埠沒有開放,那麼此時瀏覽器也是不能訪問的(僅僅伺服器上本機可以訪問),當時因為這個問題折騰了我好久,切記這個時候你還需要在安全組中將入網方向對應的埠開放。可以參考如下圖片:
此處為增加後的開放埠列表
PHP安裝步驟流程
1,安裝PHP所需要的依賴,如果已經安裝了可能進行升級,版本完全一樣則不會進行任何操作
特別提示:
2,下載PHP【由於我項目中使用到了mcrypt,PHP官方說mcrypt是已經過時了10幾年,所以只保留到了PHP7.1之前版本,如果改代碼涉及的不只是我一個人還涉及到別的語言,因此安裝的是PHP7.0.25,當然你也可以安裝最新版PHP7.2.8根據個人需要而定】
方案一:
從PHP官網選擇需要的PHP版本,選擇.tar.gz的下載包點擊進入,選擇中國本地的語言包下載到本地
下載完成之後,可以在伺服器上使用
或者你也可以使用下面的方案
方案二:
使用瀏覽器自帶的F12審查元素,獲取需要下載鏡像的地址,例如:http://cn2.php.net/get/php-7.0.25.tar.gz/from/this/mirror
3,解壓編譯PHP
4,配置PHP配置文件
5,設置全局PHP命令
6,添加到開機啟動項
7,檢查PHP是否工作
NGINX安裝步驟流程
1,準備必要的安裝依賴包
2,下載安裝包到本地,具體操作流程可以參考PHP下載方法,大體思路都一樣
3,將安裝包上傳到伺服器,請參照PHP的操作方法,當然如果本機是Linux系統,你也可以使用scp進行傳輸
4,開始進行編譯安裝
5,啟動Nginx檢測是否安裝成功
6,查看監聽
7,可以在瀏覽器中輸入ip地址直接訪問,觀測外網是否可以訪問,如果外網不能訪問,但是本機使用 curl ip 地址是能夠訪問通的,那麼首先需要將伺服器上的防火牆打開80埠,Centos7以上版本默認使用的是firewall,而不是iptables,可以參考下面的命令
8,設置Nginx開機啟動項【可選】
然後 wq 保存退出
9,修改配置文件使之支持PHP
主要修改的就是fastcgi_param設置為:
10,檢測是否配置成功
MySQL安裝步驟流程
我是參考MySQL官網yum安裝步驟
https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-installing
1,添加MySQL yum源到伺服器
選擇適合你平台的yum源進行下載[http://dev.mysql.com/downloads/repo/yum/.]
然後上傳到伺服器的 /home下
運行下面的命令
注意,你只能啟用一個MySQL版本,如果啟用多個,那麼最新的版本會被啟用
2,現在可以安裝MySQL了,使用下面的命令
現在你已經完成了MySQL的安裝
下面這個是針對MySQL初始化時候發生的事情,大概意思是
下面我們講下如何修改datadir,以修改數據默認存儲位置
文章開始部分已經規劃好我的數據是要放到我1T的數據盤上的,由於我已經完成分區,計劃MySQL數據存在/mnt/sdc5/mysql/data下,因此進行下面的操作
1,關閉MySQL服務
2,vim /etc/my.cnf
3,複製或者移動原目錄下的文件到新的目錄
4,給新目錄賦予許可權,這一步也可以省略,因為默認用戶就是msyql
5,重啟MySQL
6,此時你可以創建一個測試資料庫test,查看一下數據存在什麼地方,如果存在於 /mnt/sdc5/mysql/data 下,而不是 /var/lib/mysql下,則說明更改默認數據存儲位置成功
此處參考文章:https://blog.csdn.net/kylinregister/article/details/81252781
在客戶端成功連接資料庫之後,發現項目里的pdo連接mysql又報錯了
解決方法
解決MySQL安裝之後項目中出現關於GROUP BY的問題
解決方案
介面數據終於正常了,此處貼上我的/etc/my.cnf部分配置
到此所踩的坑基本解決完
下面講下如何從一台伺服器複製數據到另一台伺服器
1,首先導出資料庫數據
2,將導出數據使用scp傳輸到另外一台伺服器,或者使用sz 先下載到本地,再使用rz上傳到目標伺服器的/home目錄下
3,在目標伺服器上 mysql -uroot -p 登陸資料庫,然後創建目標資料庫
等待運行結束即可,注意一點數據是複製過去了,但是原資料庫上自定義的存儲過程,自定義函數需要手動複製過去
TAG:鑫璽商城 |