1.LNMP是什麼?
LNMP是指一組通常一起使用來運行動態網站或者服務器的自由軟件名稱首字母縮寫。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。
Mysql是一個小型關係型數據庫管理系統。
PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。
這四種軟件均爲免費開源軟件,組合到一起,成爲一個免費、高效、擴展性強的網站服務系統。
2.LNMP和LAMP的區別
1.區別:
1.在LAMP中,php是作爲apache的一個模塊,被apache加載並調用。 當處理php腳本時,是由apache來完成的,而實際上是apache的模塊libphp5.so 處理的。
2.nginx中,php-fpm服務作爲獨立的服務存在,真正處理php腳本的工作是由php-fpm來完成的,而nginx僅僅是把用戶的請求發給php-fpm,然後再把php-fpm的處理結果發給用戶。
2.選擇:
1.LNMP的優點:佔用VPS資源較少,Nginx配置起來也比較簡單,且Nginx 性能穩定、功能豐富、運維簡單、處理靜態文件速度快且消耗系統資源極少。
缺點:php-fpm組件的負載能力有限,在訪問量巨大的時候,php-fpm進程容易僵死,容易發生502 bad gateway錯誤。
2.LAMP的優點:Apache 是 LAMP 架構最核心的 Web Server,開源、穩定、模塊豐富是 Apache 的優勢。
缺點:Apache 的缺點是有些臃腫,內存和 CPU 開銷大,性能上有損耗,不如一些輕量級的 Web 服務器
因此,在服務器配置比較低的個人網站時LNMP 架構會更好。在大流量的時候。把Apache和Nginx結合起來使用,也不失爲一個不錯選擇。
3.LNMP的搭建
1.安裝mysql
1.準備:
tar zxf mysql-boost-5.7.17.tar.gz #解壓安裝包
useradd -s /sbin/nologin -M mysql #創建mysql用戶
yum install cmake -y #安裝cmake,mysql用cmake編譯
yum install -y gcc gcc-c++ ncurses-devel openssl-devel bison -y
#解決依賴性
2.編譯:
cd /lnmp/mysql-5.7.17/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #安裝位置
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \ #指定套接字文件位置
> -DEXTRA_CHARSETS=all \ #擴展字符集
> -DDEFAULT_CHARSET=utf8 \ #默認字符集
> -DDEFAULT_COLLATION=utf8_general_ci \ #默認字符校對
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝 innodb 存儲引擎
> -DWITH_MYISAM_STORAGE_ENGINE=1 \ #安裝 myisam 存儲引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \ #安裝 memory 存儲引擎
> -DWITH_READLINE=1 \ #支持 readline 庫
> -DENABLED_LOCAL_INFILE=1 \ #啓用加載本地數據
> -DMYSQL_USER=mysql \ #指定 mysql 運行用戶
> -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0/ #指定 mysql 端口
當編譯出錯,需要重新編譯時,需要清除原來的對象文件和緩存信息:
make clean
rm -fr CmakeCache.txt
3.安裝:
make && make install 時間會比較久。
4.修改權限
5.初始化
修改密碼
6.登錄成功
2.安裝PHP
1.解決依賴性:
yum install -y libxml2-devel
yum install -y libpng-devel
yum install -y oniguruma-*
2.編譯:
3.拷貝更改配置文件:
cd /usr/local/lnmp/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
4.拷貝子配置文件:
cd /usr/local/lnmp/php/etc/php-fpm.d
cp www.conf.default www.conf
vim www.conf
user = nginx
group = nginx
5.拷貝更改 php 主配置文件:
cp php.ini-production /usr/local/lnmp/php/etc/php.ini
修改時區:date.timezone = Asia/Shanghai
6.拷貝 php 啓動腳本至/etc/init.d/:
cd /root/php-7.4.1/sapi/fpm
cp init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
7.啓動:
3.安裝nginx
1.解壓軟件後進入 nginx 解壓包:
vim src/core/nginx.h
修改: #define NGINX_VER "nginx/"(將此行末尾顯示 nginx 版本號的配置刪除,主要是爲了安全。
vim auto/cc/gcc
修改:
# debug
#CFLAGS="$CFLAGS -g" (將這 2 行註釋調,關閉 debug)
2.編譯安裝 nginx:(先要解決依賴性)
3.修改 nginx 配置文件,開啓 php 模塊:
4.將 nginx 啓動腳本鏈接到/usr/local/sbin/,檢測語法,開啓:
5.在 nginx 默認發佈目錄添加 index.php ,vim /usr/local/lnmp/nginx/html/index.php :
6.可以訪問php默認發佈頁面。
4.論壇部署
1.解壓wordpress,並在nginx中添加訪問路徑:
2.在數據庫中添加該論壇庫:
3.修改權限:
4.瀏覽器測試: