這篇文章帶給大家的內容是關於Centos7系統下LNMP編譯安裝的詳細步驟,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
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中文網其他相關文章!