首頁 >後端開發 >php教程 >Centos7系統下LNMP編譯安裝的詳細步驟

Centos7系統下LNMP編譯安裝的詳細步驟

不言
不言轉載
2019-01-01 09:43:563609瀏覽

這篇文章帶給大家的內容是關於Centos7系統下LNMP編譯安裝的詳細步驟,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

demo1

demo2

為了避免每次安裝都要折騰好久,記錄一下編譯安裝的詳細教學

本文的PHP下載位址:

`wget http://cn2.php.net/distributions/php-7.2.0.tar.gz`

本文NGINX 下載位址:

`wget http://nginx.org/download/nginx-1.12.0.tar.gz`

查看目前的目錄:pwd

安裝NGINX的步驟:
第一個步驟:安裝編譯需要依賴的檔案

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

如果yum 提示沒有yum 記得先安裝yum.結果完成後進入下載目錄的位址解壓縮NGINX安裝包

#
解压到当前目录: tar -zxvf nginx-1.12.0.tar.gz

进入到解压后的安装目录
        cd nginx-1.12.0

由於linux 編譯指令是一整條執行,就不為難讀者一行一行去複製了。

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

要注意的是按照上的編譯方式,第一次可以安裝成功,卸載後第二次安裝就為提示 pcre zlib 沒有找到對應的路徑錯誤。所以第二次編譯路徑的應該改為

./configure --prefix=/usr/local/nginx --with-http_ssl_module

需要注意到是配置安裝的目錄位址-- 不是橫桿—

還有一些個人化目錄的安裝位址,本文採用預設的安裝目錄位址

配置好了安裝路徑,編譯及安裝

make && make install

沒有什麼意外基本上都會安裝成功,安裝設定路徑有問題可以重置安裝路徑,在安裝上面的步驟安裝

make clean  重置编译路径时,先执行

安裝完成後啟動nginx :

[root@VM_31_16_centos down]# /usr/local/nginx/sbin/nginx

查看nginx 是否啟動成功如下圖所示:

ps -ef | grep nginx

根據服務的IP位址或網域名稱存取nginx,如下圖表示啟動成功

啟動功能有兩個步驟要執行

第一步骤:加入到开机运行
vim /etc/rc.local

新增的程式碼如下:

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

第二步驟:加入到環境變數

[root@VM_31_16_centos ~]# vim /etc/profile

在最後一行加入

export PATH="$PATH:/usr/local/nginx/sbin:"

wq : 儲存後退出
執行跟新才能生效修改的內容:

source /etc/profile

這樣就完成nginx 編譯安裝,加入環境變數就不用在安裝目錄去執行檔了。
直接使用者全域指令就可以看下了

nginx -v

執行結果如下圖所示:

nginx version: nginx/1.12.0

今天就寫到這裡,後面在補充跟新PHP編譯安裝
下面開始安裝的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

不意外基本上都會安裝成功,進入PHP7.2 下載目錄並且解壓縮到當前目錄

cd /down/php-7.2.0
tar -zxvf php-7.2.0.tar.gz

開始設定編譯路徑

./configure  --prefix=/usr/local/php7.2 --with-config-file-path=/usr/local/php7 .2/etc--enable mbstring --with-libxml-dir=/usr --enable-soap --with-curl --with-zlib --with-gd --with-pdo-sqlite --with-pdo -mysql --with-mysqli --with-mysql-sock --enable-mysqlnd --disable-rpath  --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable- sysvsem --enable-sysvshm   --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip  --with-pcre-regex --enable-ftp -- with-kerberos --with-xmlrpc --with-fpm-user=www --disable-fileinfo

編譯安裝:

make && make install

在這裡先別急啟動PHP-FPM ,PHP要和Nginx設定檔相關關聯起來才能實現解析php 檔案
進入PHP的安裝目錄拷貝一份設定檔

cd /usr/local/php7.2/etc
cp php-fpm.conf.default php-fpm.conf
vim  php-fpm.conf

編輯內容如下:

pid = run/php-fpm.pid 去掉前面的

#根據php-fpm.conf 最後的一行的配置,進入載入的設定檔

cd /usr/local/php7.2/etc/php-fpm.d
cp www.conf.default www.conf
vim www.conf

需要編輯修改過的位址
user = www       加入的使用者名稱
group = www   加入的使用者群組

確保系統監聽的的連接埠是否衝突
listen = 127.0.0.1:9000 預設不需要修改

#在這些基礎設定都設定好之後,啟動PHP-FPM

/usr/local/php7.2/sbin/php-fpm

檢視進程是否啟動:

ps -ef | grep php

可以看到不只root進程還有新增的www 使用者群組的進程,這樣的PHP就啟動成功了! ! !
接下來就是來設定nginx 解析PHP檔案配置了。

要保證和PHP配置的使用者名稱和使用者群組是統一的。

進入Nginx的設定檔目錄,編輯修改行

user  www www;
worker_processes  3;

**配置的路徑位址一定是絕對路徑位址**
同樣啟動Nginx也需要有跟PHP-FPM 一樣的www 使用者群組
修改完設定之後,重啟Nginx 伺服器

/usr/local/nginx/sbin/nginx -s reload
查看nginx 是否已經啟動了更改的設定
ps -ef | grep nginx
執行的結果如下圖所示就說明,已經設定成功

根據網域名稱或對應的IP位址執行PHP檔案。執行結果成功如下圖,可以成功解析PHP檔

接下来开始安装mysql,因为的mysql 编译时间较长,选择了yum 安装节省时间达到的效果一致

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
rpm -ivh mysql57-community-release-el7-8.noarch.rpm 
yum -y install mysql-server

按照步骤就可以安装成功。yum 安装也可以指定目录,这样会改变MySQL默认的启动配置文件的路径地址,不适合新手安装。

指定安装目录: yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server

MySQL启动和关闭

开启MySQL服务器方式一service mysqld restart
开启MySQL服务器方式二:    systemctl start mysqld
关闭MySQL服务器:    systemctl stop mysqld

MySQL第一次登陆会随机生成一个随机登陆密码,查看方式如下:

grep "password" /var/log/mysqld.log

登陆成功后,可以手动修改登陆密码,记得刷新权限

方式一:alter user 'root'@'localhost' identified by '123456';
方式二:update mysql.user set authentication_string=password('root') where user='root';

刷新权限: flush privileges

最后一个就是开启远程链接权限了,mysql默认是没有开始远程连接属性的。下面是仅供测试连接,开放了所有连接权限

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
host user password
localhost root *A731AEBFB621E354CD41BAF207D884A609E81F5E
192.168.1.1 root *A731AEBFB621E354CD41BAF207D884A609E81F5E
% root *A731AEBFB621E354CD41BAF207D884A609E81F5E

3 rows in set (0.00 sec)

以上是Centos7系統下LNMP編譯安裝的詳細步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除