lnmp架構實現動態php(lnmp架構能實現什麼功能)

  • 1、處理PHP動態頁面,Apache還是Nginx好?
  • 2、CentOS 7 用戶怎樣安裝 LNMP
  • 3、lnmp 怎麼安裝 php
  • 4、如何在lnmp上部署Thinkphp
  • 5、linux下WebServer 怎麼實現PHP動態網頁響應!

mapn 這個不錯,前端是nginx處理靜態文件,後端是apache處理php動態程度。如果不是因為我部署環境太廢勁,我會全換成這個的。

LNMP動態網站部署架構是一套由Linux + Nginx + MySQL + PHP組成的動態網站系統解決方案。LNMP中的字母L是Linux系統的意思,不僅可以是RHEL、CentOS、Fedora,還可以是Debian、Ubuntu等系統。在使用源碼包安裝服務程序之前,首先要讓安裝主機具備編譯程序源碼的環境,他需要具備C語言、C++語言、Perl語言的編譯器,以及各種常見的編譯支持函數庫程序。因此請先配置妥當Yum軟體倉庫,然後把下面列出的這些軟體包都統統安裝上:

[root@linuxprobe ~]# yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

Loaded plugins: langpacks, product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

………………省略部分安裝過程………………

Installing:

apr x86_64 1.4.8-3.el7 rhel7 103 k

apr-devel x86_64 1.4.8-3.el7 rhel7 188 k

apr-util x86_64 1.5.2-6.el7 rhel7 92 k

apr-util-devel x86_64 1.5.2-6.el7 rhel7 76 k

autoconf noarch 2.69-11.el7 rhel7 701 k

automake noarch 1.13.4-3.el7 rhel7 679 k

bison x86_64 2.7-4.el7 rhel7 578 k

bzip2-devel x86_64 1.0.6-12.el7 rhel7 218 k

compat-dapl x86_64 1:1.2.19-3.el7 rhel7 109 k

compat-db-headers noarch 4.7.25-27.el7 rhel7 48 k

compat-db47 x86_64 4.7.25-27.el7 rhel7 795 k

compat-gcc-44 x86_64 4.4.7-8.el7 rhel7 10 M

compat-gcc-44-c++ x86_64 4.4.7-8.el7 rhel7 6.3 M

compat-glibc x86_64 1:2.12-4.el7 rhel7 1.2 M

compat-glibc-headers x86_64 1:2.12-4.el7 rhel7 452 k

compat-libcap1 x86_64 1.10-7.el7 rhel7 19 k

compat-libf2c-34 x86_64 3.4.6-32.el7 rhel7 155 k

compat-libgfortran-41 x86_64 4.1.2-44.el7 rhel7 142 k

compat-libtiff3 x86_64 3.9.4-11.el7 rhel7 135 k

compat-openldap x86_64 1:2.3.43-5.el7 rhel7 174 k

cpp x86_64 4.8.2-16.el7 rhel7 5.9 M

fontconfig-devel x86_64 2.10.95-7.el7 rhel7 128 k

freetype-devel x86_64 2.4.11-9.el7 rhel7 355 k

gcc x86_64 4.8.2-16.el7 rhel7 16 M

gcc-c++ x86_64 4.8.2-16.el7 rhel7 7.1 M

………………省略部分安裝過程………………

Complete!

[root@linuxprobe ~]# cd /usr/local/src

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src]# ls

zlib-1.2.8.tar.gz libmcrypt-2.5.8.tar.gz pcre-8.35.tar.gz

cmake-2.8.11.2.tar.gz libpng-1.6.12.tar.gz php-5.5.14.tar.gz

Discuz_X3.2_SC_GBK.zip libvpx-v1.3.0.tar.bz2 t1lib-5.1.2.tar.gz

freetype-2.5.3.tar.gz mysql-5.6.19.tar.gz tiff-4.0.3.tar.gz

jpegsrc.v9a.tar.gz nginx-1.6.0.tar.gz yasm-1.2.0.tar.gz

libgd-2.1.0.tar.gz openssl-1.0.1h.tar.gz

CMake是Linux系統中一款常用的編譯工具。要想通過源碼包安裝服務程序,就一定要嚴格遵守上面總結的安裝步驟—下載及解壓源碼包文件、編譯源碼包代碼、生成二進位安裝程序、運行二進位的服務程序安裝包。接下來在解壓、編譯各個軟體包源碼程序時,都會生成大量的輸出信息,下文中將其省略,請讀者以實際操作為準。

[root@linuxprobe src]# tar xzvf cmake-2.8.11.2.tar.gz

[root@linuxprobe src]# cd cmake-2.8.11.2/

[root@linuxprobe cmake-2.8.11.2]# ./configure

[root@linuxprobe cmake-2.8.11.2]# make

[root@linuxprobe cmake-2.8.11.2]# make install

20.2.1 配置Mysql服務

[root@linuxprobe cmake-2.8.11.2]# cd ..

[root@linuxprobe src]# useradd mysql -s /sbin/nologin

創建一個用於保存MySQL資料庫程序和資料庫文件的目錄,並把該目錄的所有者和所屬組身份修改為mysql。其中,/usr/local/mysql是用於保存MySQL資料庫服務程序的目錄,/usr/local/mysql/var則是用於保存真實資料庫文件的目錄。

[root@linuxprobe src]# mkdir -p /usr/local/mysql/var

[root@linuxprobe src]# chown -Rf mysql:mysql /usr/local/mysql

接下來解壓、編譯、安裝MySQL資料庫服務程序。在編譯資料庫時使用的是cmake命令,其中,-DCMAKE_INSTALL_PREFIX參數用於定義資料庫服務程序的保存目錄,-DMYSQL_DATADIR參數用於定義真實資料庫文件的目錄,-DSYSCONFDIR則是定義MySQL資料庫配置文件的保存目錄。由於MySQL資料庫服務程序比較大,因此編譯的過程比較漫長,在此期間可以稍微休息一下。

[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz

[root@linuxprobe src]# cd mysql-5.6.19/

[root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

[root@linuxprobe mysql-5.6.19]# make

[root@linuxprobe mysql-5.6.19]# make install

[root@linuxprobe mysql-5.6.19]# rm -rf /etc/my.cnf

[root@linuxprobe mysql-5.6.19]# cd /usr/local/mysql

[root@linuxprobe mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/var

把系統新生成的MySQL資料庫配置文件鏈接到/etc目錄中,然後把程序目錄中的開機程序文件複製到/etc/rc.d/init.d目錄中,以便通過service命令來管理MySQL資料庫服務程序。記得把資料庫腳本文件的許可權修改成755以便於讓用戶有執行該腳本的許可權:

[root@linuxprobe mysql]# ln -s my.cnf /etc/my.cnf

[root@linuxprobe mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@linuxprobe mysql]# chmod 755 /etc/rc.d/init.d/mysqld

編輯剛複製的MySQL資料庫腳本文件,把第46、47行的basedir與datadir參數分別修改為MySQL資料庫程序的保存目錄和真實資料庫的文件內容。

[root@linuxprobe mysql]# vim /etc/rc.d/init.d/mysqld

………………省略部分輸出信息………………

39 #

40 # If you want to affect other MySQL variables, you should make your changes

41 # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

42

43 # If you change base dir, you must also change datadir. These may get

44 # overwritten by settings in the MySQL configuration files.

45

46 basedir=/usr/local/mysql 47 datadir=/usr/local/mysql/var

48

………………省略部分輸出信息………………

[root@Linuxprobe mysql]# service mysqld start

Starting MySQL. SUCCESS!

[root@linuxprobe mysql]# chkconfig mysqld on

[root@linuxprobe mysql]# vim /etc/profile

………………省略部分輸出信息………………

64

65 for i in /etc/profile.d/*.sh ; do

66 if [ -r “$i” ]; then

67 if [ “${-#*i}” != “$-” ]; then

68 . “$i”

69 else

70 . “$i” /dev/null

71 fi

72 fi

73 done

74 export PATH=$PATH:/usr/local/mysql/bin

75 unset i

76 unset -f pathmunge

[root@linuxprobe mysql]# source /etc/profile

[root@linuxprobe mysql]# mkdir /var/lib/mysql

受限制,沒辦法全部搬運,可百度 免費電子書 linux就該這麼學,第20章,複製文章中的命令來安裝

首先需要安裝幾個依賴包兩個包安裝完成後要把動態鏈接庫做一個軟連接到/usr/lib,以為接下來的mcrypt依賴於這兩個包安裝php下載php安裝依賴編譯,就這麼簡單我是有空就在後盾人看視頻加上自己的理解的,也不知道對不對,希望能幫到你

有兩種方法 一種是在伺服器上用composer安裝 還有就是去官網把源碼下下來 ftp上傳伺服器就行了

你直接去自己讀 http 伺服器的介面相關代碼吧。

推薦個小型的 http 伺服器程序

不過現在 cgi 方式是通用的,apache 的 so 方式調用貌似需要 php 這邊代碼的支持,也就是 apache 有 so 代碼介面,php 根據這個介面做的擴展式模塊。

這種方式也就兩種辦法,要麼你的 httpd 伺服器自己實現 apache 的模塊介面函數,要麼就去改寫 php 的代碼,給自己的 httpd 製作一個對應的模塊功能。

當然還一個辦法,那就是乾脆集成 php 到你的伺服器代碼里。不過注意你的程序協議。php 雖然不是 gpl 的,用的是他自己的 PHP lic ,類似 BSD 但貌似不是 copyleft 。

原創文章,作者:A146B,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126586.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
A146B的頭像A146B
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相關推薦

  • QML 動態載入實踐

    探討 QML 框架下動態載入實現的方法和技巧。 一、實現動態載入的方法 QML 支持從 JavaScript 中動態指定需要載入的 QML 組件,並放置到運行時指定的位置。這種技術…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29
  • Java和Python哪個功能更好

    對於Java和Python這兩種編程語言,究竟哪一種更好?這個問題並沒有一個簡單的答案。下面我將從多個方面來對Java和Python進行比較,幫助讀者了解它們的優勢和劣勢,以便選擇…

    編程 2025-04-29
  • pythoncs架構網盤client用法介紹

    PythonCS是一種使用Python編寫的分散式計算中間件。它具有分散式存儲、負載均衡、任務分發等功能。pythoncs架構網盤client是PythonCS框架下的一個程序,主…

    編程 2025-04-28
  • Python每次運行變數加一:實現計數器功能

    Python編程語言中,每次執行程序都需要定義變數,而在實際開發中常常需要對變數進行計數或者累加操作,這時就需要了解如何在Python中實現計數器功能。本文將從以下幾個方面詳細講解…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • 使用easypoi創建多個動態表頭

    本文將詳細介紹如何使用easypoi創建多個動態表頭,讓表格更加靈活和具有可讀性。 一、創建單個動態表頭 easypoi是一個基於POI操作Excel的Java框架,支持通過註解的…

    編程 2025-04-28
  • Python strip()函數的功能和用法用法介紹

    Python的strip()函數用於刪除字元串開頭和結尾的空格,包括\n、\t等字元。本篇文章將從用法、功能以及與其他函數的比較等多個方面對strip()函數進行詳細講解。 一、基…

    編程 2025-04-28
  • Python動態輸入: 從基礎使用到應用實例

    Python是一種高級編程語言,因其簡單易學和可讀性而備受歡迎。Python允許程序員通過標準輸入或命令行獲得用戶輸入,這使得Python語言無法預測或控制輸入。在本文中,我們將詳…

    編程 2025-04-28
  • 全能的wpitl實現各種功能的代碼示例

    wpitl是一款強大、靈活、易於使用的編程工具,可以實現各種功能。下面將從多個方面對wpitl進行詳細的闡述,每個方面都會列舉2~3個代碼示例。 一、文件操作 1、讀取文件 fil…

    編程 2025-04-27

發表回復

登錄後才能評論