1. 程式人生 > >Centos7 手把手教你 編譯安裝LNMP環境 (古月)

Centos7 手把手教你 編譯安裝LNMP環境 (古月)

我使用的是騰訊雲的伺服器 Centos7 64位的版本

在我們剛購買完伺服器後我們可以使用Xshell來連線到伺服器 , 但是現在Xshell開始收費了 我們不得不使用之前的版本 下面放上百度雲的連結:

https://pan.baidu.com/s/1slHTq9Z 密碼: 3dun

本文中需要的相關軟體連結地址
連結:https://pan.baidu.com/s/17jxBfOCJ55eV-v9AKbMeXg 密碼:lzo3

!. 連線伺服器
這個是Xshell5的版本 安裝好之後我們開始連線伺服器

連線伺服器成功

上面是連線伺服器成功後的截圖 !!
我的命令列背景是修改過的 如果需要修改請參考這篇文章

http://www.jianshu.com/p/741affd7b3c5

2. 安裝nginx

首先安裝nginx的依賴

yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5

執行命令的結果

上圖是將程式碼執行後的結果

確認安裝

中途會詢問我們是否安裝 我們按 “y” 並回車安裝

依賴安裝完成

上圖表示依賴已經安裝完成!! 下面安裝nginx

在root家目錄下建立一個software目錄 (可以使用 cd ~切換到使用者的家目錄)
建立software目錄

下面將我們需要的所有軟體包上傳到伺服器software目錄中
我們可以使用WinSCP軟體上傳,使用方法可以百度
上傳完成後對檔案進行解壓
上傳完成後解壓

下面進入到nginx解壓後的目錄並進行編譯

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8

我們將nginx安裝到/usr/local/nginx目錄下

編譯安裝nginx

下圖這樣就是編譯成功

編譯成功

下面執行make && make install 進行安裝

安裝nginx成功

上圖表示安裝nginx成功

首次啟動nginx

啟動nginx

訪問測試

訪問測試

如果你能看見上面這樣的效果就表示nginx已經啟動成功!!!

今天先寫到這裡 以後再繼續更新!

今天繼續為大家更新文章!

nginx加入到開機自動啟動

到這裡我們的nginx還沒有實現開機自動啟動 那麼我們就把他加入到開機自動啟動服務中!

我們先編輯系統啟動指令碼vi /etc/rc.local 這個檔案是系統啟動後會自動執行的,我們就將啟動命令加入到這個檔案中

編輯rc.local檔案

我們可以按i 進入到編輯模式 插入對應的程式啟動命令即可

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &

將開機啟動指令碼加入到檔案中

隨後我們:wq儲存檔案並退出,使用 init 6重啟系統

重啟後我們連線到伺服器上使用ps -e | grep nginx 檢視nginx的程序發現已經成功的啟動了

檢視nginx啟動程序

如果你發現你的程序沒有成功的啟動可能是因為你的這個指令碼檔案沒有可以執行的許可權 請給該檔案增加 其他人可以執行的許可權 chmod o+x /etc/rc.local後重啟再次檢視

下圖表示如果我們不在nginx程式的目錄中無法使用nginx的命令 會提示找不到nginx

找不到nginx

下面我們將nginx的位置加入到環境變數中

vi /etc/profile 

編輯環境變數檔案,加入如下內容

加入nginx的位置

隨後我們更新環境變數 並使用命令再次重啟nginx

這時已經不再報錯了

下面編譯安裝PHP-FPM

首先安裝必要的軟體依賴

yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel

中途會有提示詢問是否安裝 按y繼續安裝

繼續安裝

安裝完成後我們去軟體目錄解壓檔案

tar zxf php-5.6.30.tar.gz

進入PHP解壓後的目錄

cd php-5.6.30/

編譯

./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib  --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64

PHP編譯完成

安裝

make && make install

PHP安裝完成

這裡我們不著急啟動php-fpm,我們先對它進行一些配置,到php-fpm的安裝目錄etc下複製一份配置檔案

複製一份php-fpm.conf檔案

隨後我們編輯這個配置檔案

開啟PID記錄

設定對應的使用者和組

確認監聽地址

這些都設定好之後我們可以儲存退出:wq

我們第一次啟動php-fpm測試

告訴我們沒有指定的使用者和組

提示我們沒有指定的使用者和組 下面我們進行建立

建立對應的組

上圖我們建立了對應的使用者 系統會預設為我們建立一個同名的使用者組,再次重新啟動php-fpm後檢視程序就已經啟動成功了

我們可以通過快捷命令管理php-fpm
關閉php-fpm (路徑要和我的一樣)

kill `cat /usr/local/php-fpm/var/run/php-fpm.pid `

重啟(路徑要和我的一樣 在已經啟動的情況下才有效)

kill -USR2 `cat /usr/local/php-fpm/var/run/php-fpm.pid `

下面我們編譯安裝MySQL

先進入軟體的存放目錄

處理MySQL檔案

文字比較小 所以截圖不清晰 請大家見諒

丟失cmake

如果你在安裝時報告相同的錯誤請安裝cmake 如果MySQL可以直接編譯可以跳過次步驟

安裝cmake

確認安裝
確認安裝

安裝完成
cmake安裝完成

下面我們再次編譯MySQL

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data

再次執行

到這裡 如果你遇到了 如下的錯誤

CMake Error at cmake/readline.cmake:85 (MESSAGE): Curses library not found.

請參考這篇文章

https://www.jianshu.com/p/5aa83a8f93ce

按照文章的方法 處理好後再次執行上面的編譯命令

cmake成功

上圖表示可以安裝了

下面執行安裝

make && make install

安裝過程可能需要30分鐘 (主要看你的機器效能)

安裝MySQL成功

下面配置MySQL

首先進入到我們的安裝目錄

cd /usr/local/mysql/

進入到MySQL安裝目錄

建立mysql使用者和mysql使用者組 並且讓mysql使用者屬於mysql使用者組

groupadd mysql    #建立mysql組
useradd -r -g mysql mysql    #增加mysql使用者並讓它屬於mysql使用者組

增加mysql使用者

將所有的目錄都改成mysql使用者和mysql組 (安裝好後預設都是root)
改變許可權

刪除預設的配置檔案

 rm -f /etc/my.cnf

刪除預設配置檔案

安裝MySQL系統表

./scripts/mysql_install_db --user=mysql

安裝系統表

安裝系統表

下面將所有目錄都改成root 和root組 只有data目錄不是不是

chown -R root:root .
chown -R mysql:mysql data

改變許可權

下面修改配置檔案

cp support-files/my-default.cnf /etc/my.cnf

修改配置檔案

以完整路徑的方式啟動MySQL

/usr/local/mysql/bin/mysqld_safe --user=mysql &

啟動mysql

啟動時如果感覺卡住了 按下回車鍵

程序啟動成功

現在不著急連線 下面配置MySQL守護程序

將MySQL程式複製到啟動目錄

cp support-files/mysql.server /etc/init.d/mysqld

複製到對應目錄

增加配置即可

chkconfig --add mysqld

增加配置

已經可以使用管理服務的命令管理MySQL了
管理mysql

下面我們配置環境變數

vim /etc/profile

找到檔案最下面 修改對應位置 將MySQL對應的bin目錄增加進去

export PATH="$PATH:/usr/local/apache/bin:/usr/local/mysql/bin"

如果沒有就增加
增加環境變數

下面讓環境變數生效

source /etc/profile

環境變數生效

下面連線MySQL
此時mysql還沒有密碼
連線mysql

我們使用MySQL庫檢視有哪些使用者
檢視使用者

下面刪除不必要的使用者

delete from mysql.user where host <> 'localhost';
delete from mysql.user where user <> 'root';

刪除不必要的使用者

為該使用者設定密碼 (密碼可以自定義)

update mysql.user set password=password('root') where user='root';  # 設定密碼
flush privileges; # 重新整理許可權讓密碼生效

設定密碼

此時我們退出MySQL再登入就需要密碼了

大功告成!