lnmp環(huán)境搭建保姆級(jí)別教程蛾默,手把手教學(xué)。
lnmp一般指Linux系統(tǒng)下Nginx+MySQL+PHP這種網(wǎng)站服務(wù)器架構(gòu)捉貌。當(dāng)然支鸡,還有l(wèi)amp構(gòu)架,web服務(wù)器采用Apache趁窃。由于Nginx具有強(qiáng)大的性能牧挣,反向代理等特性,已經(jīng)成為了主流構(gòu)架醒陆。
零瀑构、搭建lnmp實(shí)驗(yàn)環(huán)境說(shuō)明
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
特別說(shuō)明,本教程在操作系統(tǒng)CentOS7上重復(fù)刨摩,lnmp環(huán)境軟件各版本如下寺晌。
- nginx version: nginx/1.20.1
- mysqld Ver 5.7.34 for Linux on x86_64 (MySQL Community Server (GPL))
- PHP 7.2.34 (cli)
一、Web服務(wù)器Nginx安裝部署
nginx官方文檔說(shuō)明:http://nginx.org/en/linux_packages.html#RHEL-CentOS
1. 準(zhǔn)備工作
默認(rèn)情況Centos7中無(wú)Nginx的源澡刹,所以手動(dòng)添加一下。
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost ~]# vi nginx.repo
# 輸入以下信息
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
2. 安裝nginx
通過(guò)yum list nginx看看是否已經(jīng)添加源成功罢浇。如果成功則執(zhí)行下列命令安裝nginx陆赋。
yum install nginx
啟動(dòng)nginx:systemctl start nginx
加入開(kāi)機(jī)啟動(dòng):systemctl enable nginx
查看nginx的狀態(tài):systemctl status nginx
3. 開(kāi)放80端口
在瀏覽器輸入自己服務(wù)器的IP地址即可訪問(wèn)到nginx沐祷,nginx服務(wù)的默認(rèn)端口為80。
CentOS7防火墻默認(rèn)80端口是不開(kāi)放的奏甫,需要先開(kāi)一下80端口戈轿。
開(kāi)放80端口參考教程,CentOS 7防火墻
二阵子、MySQL數(shù)據(jù)庫(kù)安裝
與nginx安裝類(lèi)似思杯,需要先添加源。具體參考以下教程挠进。
三色乾、PHP環(huán)境安裝
1. 準(zhǔn)備工作
默認(rèn)情況Centos7中php源的版本較低,若之前安裝過(guò)其他版本PHP领突,先刪除暖璧。
yum remove php*
添加yum源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
查看可安裝的php7
yum list php72w*
2.安裝php7.2
yum install -y php72w php72w-cli php72w-common php72w-fpm php72w-mysqlnd
安裝相關(guān)擴(kuò)展
php72w-cli
php72w-common
php72w-devel
php72w-embedded
php72w-fpm
php72w-gd
php72w-mbstring
php72w-mysqlnd
php72w-opcache
php72w-pdo
php72w-xml
php72w
php72w-bcmath
php72w-dba
php72w-enchant
php72w-imap
php72w-interbase
php72w-intl
php72w-ldap
php72w-mcrypt
php72w-odbc
php72w-pdo_dblib
php72w-pear
php72w-pecl-apcu
php72w-pecl-imagick
php72w-pecl-xdebug
php72w-pgsql
php72w-phpdbg
php72w-process
php72w-pspell
php72w-recode
php72w-snmp
php72w-soap
php72w-tidy
php72w-xmlrpc
php72w-pecl-igbinary
php72w-intl
php72w-memcached
php72w-pecl-mongodb
yum list php72w*
可以把能夠安裝的php擴(kuò)展列出來(lái),根據(jù)自己需要安裝即可君旦。
3.查看PHP版本
[root@localhost ~]# php -v
PHP 7.2.34 (cli) (built: Oct 1 2020 13:37:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies
要做web服務(wù)器澎办,php-fpm擴(kuò)展是必須安裝的。(不知道需要安裝哪些php擴(kuò)展就都安裝上)金砍。
4.啟動(dòng)php-fpm
啟動(dòng)php-fpm:systemctl start php-fpm
加入開(kāi)機(jī)啟動(dòng):systemctl enable php-fpm
查看php-fpm的狀態(tài):systemctl status php-fpm
四局蚀、配置nginx
配置nginx,把php腳本請(qǐng)求轉(zhuǎn)發(fā)到php-fpm恕稠。
nginx的配置文件位于/etc/nginx/文件夾下面琅绅,nginx會(huì)讀取conf.d下面的*.conf
文件作為用戶配置覆蓋默認(rèn)配置文件。這里簡(jiǎn)單配置了將php腳本請(qǐng)求轉(zhuǎn)發(fā)到了php-fpm默認(rèn)監(jiān)聽(tīng)的127.0.0.1:9000鹅巍,更多配置可參考nginx官方文檔千扶。
[root@localhost ~]# cd /etc/nginx/conf.d/
[root@localhost conf.d]# vi www.conf
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
location / {
index index.php index.html;
autoindex off;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
/usr/share/nginx/html
是nginx默認(rèn)的web目錄。
重啟nginx
systemctl restart nginx
在/usr/share/nginx/html
目錄下面新建phpinfo.php文件
[root@localhost html]# vi phpinfo.php
<?php
phpinfo();
在瀏覽器中訪問(wèn)http://192.168.75.129/phpinfo.php骆捧,ip地址換成自己的澎羞。