中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LNMP架構的搭建及應用部署方法

發布時間:2021-09-09 13:37:47 來源:億速云 閱讀:159 作者:chen 欄目:系統運維

本篇內容介紹了“LNMP架構的搭建及應用部署方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!


一、準備工作:

Centos 7 服務器、光盤
MySQL 部署可參考博文:https://blog.51cto.com/14227204/2425596
Nginx 部署可參考博文:https://blog.51cto.com/14227204/2435579
準備 PHP 的源碼包:https://pan.baidu.com/s/1WARKfQ5ndcL5t5MqXq13zg
提取碼: 4zjx

二、安裝 PHP 解析環境:
較新版本的 PHP 已經自帶了 FPM 模塊,用來對PHP解析實例進行管理、優化解析效率。所以需要在編譯時 添加“--enable-fpm”來啟動此模塊。

[root@mysql /]# yum -y  install    gd    libxml2-devel     libjpeg-devel    libpng-devel
[root@mysql /]# tar zxf php-5.5.38.tar.gz  -C   /usr/src/
[root@mysql php-5.5.38]# ./configure   --prefix=/usr/local/php5 
--with-gd 
--with-zlib 
--with-mysql=/usr/local/mysql 
--with-mysqli=/usr/local/mysql/bin/mysql_config 
--with-config-file-path=/usr/local/php5 
--enable-mbstring 
--enable-fpm
--with-jpeg-dir=/usr/lib   && make && make install                  #配置及編譯安裝(過程較長)

安裝完畢后的調整:

[root@mysql php-5.5.38]# cp php.ini-development    /usr/local/php5/php.ini
[root@mysql /]# ln -s /usr/local/php5/bin/*   /usr/local/bin/
[root@mysql /]# ln -s /usr/local/php5/sbin/*   /usr/local/sbin/          # 創建鏈接文件,方便命令使用

安裝 ZendGuardLoader:(加速 Nginx 處理速度,可省略)

[root@mysql /]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz   -C /usr/src/
[root@mysql /]# cd  /usr/src/zend-loader-php5.5-linux-x86_64/
[root@mysql zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/                 # 將 zend 文件復制到PHP目錄中
[root@mysql /]# vim /usr/local/php5/php.ini             # 寫入以下兩行
...............
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

配置 Nginx 支持 PHP環境:
若要讓Nginx能夠解析PHP網頁,有兩種方法可以選擇:其一,充當中介,將訪問PHP頁面的web請求轉交給其他服務器(LAMP)去處理;其二,通過使用PHP的FPM模塊來調用本機的PHP環境。
1、啟用php-pfm進程(該進程默認監聽9000端口):

[root@mysql ~]# cd /usr/local/php5/etc/
[root@mysql etc]# cp php-fpm.conf.default php-fpm.conf       
[root@mysql etc]# useradd -M -s /sbin/nologin php            # 創建 PHP 用戶
[root@mysql etc]# vim php-fpm.conf
 ......................
pid = run/php-fpm.pid            #確認pid文件位置
user = php                            #運行用戶
group = php                         #運行組
pm.start_servers = 20                    #啟動時開啟的進程數
pm.min_spare_servers = 5            #最少空閑進程數
pm.max_spare_servers = 35         #最多空閑進程數
pm.max_children = 50                   #最大子進程數
[root@mysql /]# /usr/local/sbin/php-fpm             # 啟動 fpm 服務
[root@mysql /]# killall php-fpm                         # 停止服務

在 php-fpm.conf 配置文件中,pid配置項指出的PID信息的存放位置,對應的實際路徑為:/usr/local/php5/var/run/php-fpm.pid,根據上面的配置,可以修改Nginx服務腳本,以便在啟動/停止Nginx服務器時將php-fpm進程也自動啟動/停止。

[root@mysql /]# vim /etc/init.d/nginx 
#!/bin/bash
# chkconfig: - 99 20
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM="/usr/local/php5/var/run/php-fpm.pid"
case "$1" in
  start)
        $PROG
        $PROG_FPM
  ;;
  stop)
        kill -s QUIT $(cat $PIDF)
        kill -s QUIT $(cat $PIDF_FPM)
  ;;
  restart)
        $0 stop
        $0 start
  ;;
  reload)
        kill -s HUP $(cat $PIDF)
        kill -s HUP $(cat $PIDF_FPM)
  ;;
  *)
        echo "USAGE:$0 {start | stop | restart | reload}"
        exit 1
esac
exit 0
[root@mysql /]# systemctl daemon-reload          #重新加載守護進程,否則會有提示信息
[root@mysql /]# systemctl restart nginx             # 重啟服務以確認腳本無誤
[root@mysql /]# netstat -anpt | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      64964/php-fpm: mast 
[root@mysql /]# netstat -anpt | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      64961/nginx: master

經過上面配置,Nginx和fpm就被綁在一塊了,一旦啟動或關閉Nginx服務,php-fpm程序也會隨之啟動或關閉,不需要額外再啟動或關閉php-fpm。

配置Nginx支持PHP解析:

無論是將PHP頁面交給LAMP服務器去解析,還是調用本機的php-fpm進程進行操作,都需要在“server { }”配置段中添加location設置,以便指定當訪問php網頁時采用哪種操作。

兩種方法的配置項都可以在配置文件的末尾找到相應的模板。復制到相應位置,稍加修改即可用。

對于第一種方法,可以不執行上面php-fpm的配置(轉交給其他web服務器處理,使用如下配置語句):

[root@localhost etc]# vim /usr/local/nginx/conf/nginx.conf
                   ...................#省略部分內容
server {
                ...................
location ~ \.php$ {         #訪問.php頁面的配置段
            proxy_pass   http://192.168.1.20:80;            # apache服務器的監聽地址
        }
             ...................   // 省略部分內容
}

這里我使用第二種方法(調用本機的php-fpm進程),配置如下:

server  {
.....................
location ~ \.php$ {
                root /var/www/test1;
                fastcgi_index  index.php;
                fastcgi_pass   127.0.0.1:9000;
                include        fastcgi.conf
        }
[root@mysql /]# vim /var/www/test1/test.php         # 編寫測試網頁
<?php
$link=mysqli_connect('localhost','root','pwd123');
if($link) echo "恭喜你,數據庫連接成功!!!";
mysqli_close($link);
?>

LNMP架構的搭建及應用部署方法
LNMP 平臺部署 web 應用:
這里我使用的是 Discuz!,一個社區論壇。可在 http://www.discuz.net 官方下載。
部署程序代碼:

[root@mysql /]# unzip Discuz_X3.3_SC_UTF8.zip        
[root@mysql /]# mv upload/ /var/www/test1/bbs            # 將 upload 目錄放在網站根目錄下
[root@mysql tt]# chown -R php:php /var/www/test1/bbs/       # 修改屬主屬組

創建數據庫:

[root@mysql /]# mysql -u root -p 
Enter password:                     // 輸入密碼
mysql> create database bbs;                     // 創建一個專屬數據庫
mysql> grant all on bbs.* to runbbs@localhost identified by 'pwd123';       // 設置權限
和管理員用戶

安裝 Discuz:
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法
訪問www.test1.com/bbs/admin.php 登錄到后臺看看:
LNMP架構的搭建及應用部署方法
LNMP架構的搭建及應用部署方法

“LNMP架構的搭建及應用部署方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南雄市| 江津市| 明溪县| 乐平市| 北流市| 宣化县| 宜君县| 徐闻县| 武乡县| 六盘水市| 栾川县| 合阳县| 团风县| 手机| 沾化县| 六枝特区| 阿克苏市| 汝州市| 香格里拉县| 克什克腾旗| 南华县| 鄂温| 手游| 长春市| 绥化市| 霍邱县| 高安市| 华安县| 镇江市| 三河市| 秦安县| 翁源县| 滁州市| 固原市| 万安县| 固安县| 博爱县| 油尖旺区| 宣汉县| 沁水县| 华蓥市|