LNMP==Linux+Nginx+Mysql(mariabd)+PHP
Linux:
Linux是一套免费使用和自由传播的开源程序,是一个基于POSIX和UNIX的多用户、多任务、支持多 线程和多CPU的操作系统。被广泛的用于服务器、安卓系统等其它各种设备系统中所使用。
nginx:
Nginx 是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。 Nginx 是免费 的开源软件,根据类 BSD 许可证的条款发布。
mysql:
MySQL 在 Web 托管应用程序中非常流行,因为它具有大量的 Web 优化功能,如 HTML 数据类型,并 且因为它是免费提供的。它是 Linux,Apache,MySQL,PHP(LAMP)架构的一部分,这是一种经 常用于交付和支持高级 Web 应用程序的平台组合。MySQL 运行着一些着名网站的后端数据库,包括 维基百科,谷歌和 Facebook–尽管它具有分散的,免费的哲学,但它的稳定性和稳健性的证明。
php:
(一)开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外, PHP 运行环境的使用也是免费的。
(二)快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操 作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性 很强。
(三)数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数 与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
(四)面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一 起混用,这是其它很多编程语言是做不到的。
2、LNMP原理lnmp架构简介
2.1 LNMP架构的基本定义
LAMP=Linux+Apache+Mysql+PHP
LNMP=Linux+Nginx+Mysql+PHP
LAMP的架构LAMP是一个多C/S架构的平台,最初级为web客户端基于TCP/IP通过http协议发起传送, 这个请求可能是静态的也可能是动态的。所以web服务器通过发起请求的后缀来判断,如果是静态的就 由web服务器自行处理,然后将资源发给客户端。如果是动态的web服务器会通过CGI(Common Gateway Interfence)协议发起给php。这里但是如果php以模块形式与web服务器联系,那么它们是 通过内部共享内存的方式,如果是php与单独的放置与一台服务器,那么它们是以sockets套接字的方式 进行通信(这又是一个C/S架构),这时php会相应的执行一段程序,如果在程序执行时需要一些数据, 那么php就会通过 mysql协议发送给mysql服务器(这也可以看作是一个C/S架构),由mysql服务器处 理,将数据供给php程序。
2.2 LNMP架构的深层剖析
NGINX
NGinx是一款高性能的web服务器,本身是不能处理php请求的,当接收到请求时,判断如果是 php请求就会将请求交给php解析器处理然后将结果返回给client。Nginx一般把请求转发给fast-cgi管理 进程进行处理,fast-cgi管理进程再选择cgi子进程处理请求,然后把结果返回给Nginx。
Apache+php和nginx+php的区别:
apache一般是把php当作自己的一个模块来启动;而nginx则是把http请求变量转发给php进程,即 php独立进程,与Nginx通信,这种方式叫做fast-cgi运行方式,所以apache编译的php不能用于 nginx。
Fast-Cgi:
Fast-Cgi是一个可伸缩的,高速的HTPP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持fast-cgi,包括apache,nginx和lighttpd等。同时fast-cgi也被许多脚本语言支持,其中就 有php。Fast-CGI是从CGI发展改进而来的。传统的CGI接口方式的主要缺点是性能很差,因为每次 HTTP服务器遇到动态程序时都需要重新启动脚本解析器来进行解析,然后将结果返回给http服务器。 这里在处理高并发访问时几乎是不可用的。另外传统的CGI接口接口方式的安全性也很差,现在已经很 少使用了。
Fast-CGI接口方式采用C/S结构,可以将http服务器和脚本解析服务器分开,同时在脚本解析服务 器上启动一个或者多个脚本解析器守护进程。当HTTP服务器每次遇到动态程序时,可以直接将其交给 Fast-CGI进程来执行,然后将的得到的结果再返回给浏览器。这种方式可以让HTTP服务器专一的处理静 态请求或者将动态脚本服务器的结果返回给客户端。这再很大程度上提高了应用程序的性能。
Nginx+Fast-CGI的运行原理:
Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过fast-cgi接口 来调用。Fast-cgi接口在Linux下是socket(这个socket可以是文件socket,也可以是ip socket)。
wrapper:为了调用CGI程序,还需要一个Fast-cgi的wrapper(wrapper也可以理解为用于启动另外一 个程序的程序),这个wrapper绑定在某个固定的socket上,如端口或者文件socket。当Nginx将CGI请 求发送给这个socket的时候通过Fast-CGI的接口,wrapper接收到一个请求,然后fork派生出一个新的 线程,这个线程调用解析器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通 过Fast-cgi接口,沿着固定的socket传递给Nginx;最后Nginx将返回的数据(html页面或者图片)发送 给客户端。
下图为Nginx+Fast-CGI的整个运行过程:
因此,首先需要一个wrapper,这个wrapper需要完成的工作:
(1)通过调用Fast-CGI(库)的函数通过socket和Nginx通信(读写socket是fast-cgi内部实现的功 能,对wrapper是非透明的)
(2)调度thread,进行fork和application进行通信
php-fpm简述:
PHP-FPM是一个PHP FastCGI管理器,是只用于php的,它其实是php源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的源代码中,在编译安装php后才可以使用。新版的 PHP已经集成了php-fpm,在./configure的时候带–enable-fpmp参数即可开启PHP-FPM。
fastcgi的特点。
HTTP服务器和动态脚本语言间通信的接口或工具。 可把动态语言解析和HTTP服务器分离开。 Nginx,Apache,Lighttpd,以及多数动态语言都支持FastCGI。 FastCGI接口方式采用C/S结构,分为客户端(HTTP服务器)和服务器端(动态语言解析服务器) PHP动态语言服务器端可以启动多个FastCGI的守护进程(例如php-fpm(fcgi process mangement))HTTP服务器通过(例如Nginx fastcgi_pass)FastCGI客户端和动态语言FastCGI服务器端通信 (例如php-fpm)LNMP架构工作流程
LNMP的工作原理
首先由浏览器发送http request请求给到服务器(Nginx),服务器响应并处理web请求,将一些 静态的资源(CSS,图片,视频)保存到服务器上,然后将php脚本通过接口传输协议(网关协议) PHP-FCGI(fast-cgi)传输给php-fpm(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用php 解析器进程,php解析器解析php脚本信息,php解析器进程可以启动多个,进行并发执行。然后将解 析后的脚本返回到PHP-FPM,PHP-FPM通过fast-cgi的形式将脚本信息传送给Nginx。服务器在通过 http reponse的形式传送给浏览器。浏览器再进行解析与渲染后进行呈现。
LNMP的工作流程
用户发送http请求到达http服务器
httpd解析URL获取需要的资源的路径,通过内核空间来读取硬盘资源,如果是静态资源,则构建响应报文发回给用户。
如果是动态资源,将资源地址发送给php解析器,解析php程序文件,解析完毕将内容发回给httpd, httpd构建响应报文,发回给用户。
如果涉及到数据库操作,则利用php-mysql驱动,获取数据库数据,返回给PHP解析器。
LNMP架构与LAMP架构
Lnmp架构与Lamp架构相似,只不过一个用的是Apache一个用的Nginx。Nginx和Apache一样都是web服务器。
LNMP架构里php会启动服务php-fpm,而LAMP中php只是作为Apache的一个模块存在。Nginx会把 用户的动态请求交给php服务去做处理,这个php服务就会去和数据库进行交互。用户的静态请求 Nginx会直接处理,Nginx处理静态请求的速度要比Apache快很多性能上要好,所以apache和Nginx在 动态请求处理上区别不大,但是如果是静态处理的话就会发现Nginx要快于apache,而且Nginx能承受 的并发量要比apache大,可以承受好几万的并发连接量,所以大一些的网站都会使用Nginx作为web服 务器。
3、LNMP搭建3.1、搭建WEB服务器
3.1.1、二进制部署nginx
nginx下载地址:http://nginx.org/download/
范例:
1、下载相关依赖包[13:29:31 root@WEB ~]#yum install -y gcc gcc-c++ glibc glibc-devel pcre pcredevel openssl openssl-devel systemd-devel net-tools iotop bc zip unzip zlibdevel bash-completion nfs-utils automake libxml2 libxml2-devel libxslt libxsltdevel perl perl-ExtUtils-Embed2、创建nginx用户[13:31:45 root@WEB ~]#useradd -s /sbin/nologin nginx -u 20003、进入/usr/local/src/目录并下载nginx[13:32:06 root@WEB ~]#cd /usr/local/src/;wget http://nginx.org/download/nginx1.18.0.tar.gz4、解压nginx[13:40:26 root@WEB src]#tar xf nginx-1.18.0.tar.gz5、进入nginx解压好之后的目录,并生成编译环境。[13:46:29 root@WEB src]#cd nginx-1.18.0/[13:47:36 root@WEB nginx-1.18.0]#./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --withhttp_realip_module --with-http_stub_status_module --with-http_gzip_static_module--with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module6、编译&安装[13:50:58 root@WEB nginx-1.18.0]#make -j 4 && make install7、修改nginx配置文件使其支持php-fpm服务。[13:51:54 root@WEB nginx-1.18.0]#vim /apps/nginx/conf/nginx.confuser nginx;worker_processes 1;events { worker_connections 1024; }http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65 65;server_tokens off; server {listen 80;server_name 10.0.0.27;charset utf-8; location / { error_page 500 502 503 504 404 /50x.html; root /apps/nginx/html/; index index.php index.html index.htm;}location = /50x.html { root html; }location ~ \.php$ { root /apps/nginx/html/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }}}8、启动nginx服务、查看端口80已打开[13:55:29 root@WEB nginx-1.18.0]#/apps/nginx/sbin/nginx[13:56:27 root@WEB nginx-1.18.0]#ss -ntl | grep 80LISTEN 0 128 *:80 *:*3.1.2、nginx配置文件解析
#因为我们在生成编译环境的时候--prefix=/apps/nginx 参数制定了nginx的安装目录,所以我们在编辑在nginx的配置文件就直接到/apps/nginx目录下。#nginx配置文件详解:user nginx; #全局配置端,对全局生效,主要设置nginx的启动用户/组,启动的工作进程数量,工作模式,Nginx的PID路径,日志路径等。worker_processes 1; #启动工作进程数数量 ,这个值默认是1(正常情况下是我们events { #events设置块,主要影响nginx服务器与用户的网络连接,比如是否允许同时接受多个网络连接,使用哪种事件驱动模型处理请求,每个工作进程可以同时支持的最大连接数,是否开启对多工作进程下的网络连接进行序列化等。worker_connections 1024; #设置单个nginx工作进程可以接受的最大并发,作为web服务器的时 候最大并发数为worker_connections * worker_processes,作为反向代理的时候为 要除以2(worker_connections * worker_processes)/2 因为作为反向代理的时候是自身来处理,所以本身扛得住。}http { #http块是Nginx服务器配置中的重要部分,缓存、代理和日志格式定义等绝大多数功能和第三方模块都可以在这设置,http块可以包含多个server块,而一个server块中又可以包含多个location块,server块可以配置文件引入、MIME-Type定义、日志自定义、是否启用sendfile、连接超时时间和单个链接的请求上限等。 include mime.types; #支持的mime类型,MIME(Multipurpose Internet MailExtensions)多用途互联网邮件扩展类型,MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。default_type application/octet-stream; #默认类型应用程序/八进制 sendfile on; #作为web服务器的时候打开sendfile加快静态文件传输,指定是否使用sendfile系统调用来传输文件,sendfile系统调用在两个文件描述符之间直接传递数据(完全在内核中操作),从 而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝,硬盘 >>kernel buffer (快速拷贝到kernelsocket buffer) >>协议栈。 keepalive_timeout 65 65; #长连接超时时间,单位是秒 通常加两个,让客户端和服务器的持续链接时间相同server_tokens off; #安全优化-隐藏版本号 server { #设置一个虚拟机主机,可以包含自己的全局块,同时也可以包含多个location模块。比如本虚拟机监听的端口、本虚拟机的名称和IP配置,多个server 可以使用一个端口,比如都使用80端口提供web服务、本身可以多次监听同一个端口listen 80; #配置server监听的端口默认监听所有80server_name 10.0.0.7; #本server的名称,当访问此名称的时候nginx会调用当前serevr内部的配置进程匹配nginx可以有多个虚拟主机,只要使用域名区分即可。charset utf-8; #设置编码格式,默认是俄语格式,可以改为utf-8 让他支持全球标准语法location / { #location其实是server的一个指令,为nginx服务器提供比较多而且灵活的指令,都是在location中提现的,主要是基于nginx接受到的请求字符串,对用户请求的UIL进行匹配,并对特定的指令进行处理,包括地址重定向、数据缓存和应答控制等功能都是在这部分实现,另外很多第三方模块的配置也是在location模块中配置。 error_page 500 502 503 504 404 /50x.html; #出现这几个状态即可跳转到50x.html文件 root /apps/nginx/html/; #定义错误页面的时候做的处理,这个50x.html其实是一个文件。 index index.php index.html index.htm; #nginx配置默认首页} location = /50x.html { root html;} ocation ~ \.php$ { #以http的方式转发php请求到指定web服务器 root /apps/nginx/html/; #php文件存放路径 fastcgi_pass 127.0.0.1:9000; #指明后端php-fpm服务器主机及端口 fastcgi_index index.php; #默认使用的php文件 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #这个配置的意思是 在浏览器中访问的.php文件,实际读取的是 $document_root(网站根目录)下的.php文件 -- 也就是说当访问127.0.0.1/index.php的时候,需要读取网站根目录下面的index.php文件,如果没有配置这一配置项时,nginx不回去网站根目录下访问.php文件,所以返回空白include fastcgi_params; #这里面写的是一堆变量3.1.3、测试web服务
搭建好了nginx之后我们就去通过浏览器访问测试
3.2、二进制搭建php服务
编译好了nginx之后我们开始解决nginx的php问题。
php官方下载:https://xintu.php.net/downloads.php
范例:
1、进入/usr/local/src/目录[13:56:31 root@WEB nginx-1.18.0]#cd /usr/local/src/ 2、解决php依赖关系[14:01:15 root@WEB src]#yum install libxml2-devel bzip2-devel libmcrypt-develsqlite-devel -y3、php-fpm官方下载安装包[14:04:09 root@WEB src]#wget https://xintu.php.net/distributions/php-7.4.7.tar.gz4、解压php安装包[14:04:37 root@WEB src]#tar xf php-7.4.7.tar.gz5、进入php目录,并生成编译环境[14:06:36 root@WEB src]#cd php-7.4.7/[14:07:21 root@WEB php-7.4.7]#./configure --prefix=/app/php --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-freetype-dir--with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-configfile-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disablefileinfo --disable-mbregex6、编译安装[14:10:56 root@WEB php-7.4.7]#make -j 4 && make install7、系统使用php.ini中的设置拷贝在/etc/目录下[14:12:26 root@WEB php-7.4.7]#cp -f php.ini-production /etc/php.ini8、拷贝启动脚本到systemd中、使用systemd启动服务[14:12:28 root@WEB php-7.4.7]#cp -f sapi/fpm/php-fpm.service/usr/lib/systemd/system/ 9、拷贝xintu.conf.default配置文件为xintu.conf[14:13:32 root@WEB php-7.4.7]#cp /app/php/etc/php-fpm.d/xintu.conf.default/app/php/etc/php-fpm.d/xintu.conf[14:14:56 root@WEB php-7.4.7]#ll /app/php/etc/php-fpm.d/total 40-rw-r--r-- 1 root root 19675 Jun 19 14:14 xintu.conf-rw-r--r-- 1 root root 19675 Jun 19 14:10 xintu.conf.default10、修改xintu.conf配置文件内容、主要修改user、group、listen这三项[11:15:31 root@a7 etc]#vim /app/php/etc/php-fpm.d/xintu.conf22 ; will be used.23 user = nginx #改为用户为nginx、让nginx启动php24 group = nginx #组也改为nginx2526 ; The address on which to accept FastCGI requests.27 ; Valid syntaxes are:28 ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on29 ; a specific port;30 ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on31 ; a specific port;32 ; 'port' - to listen on a TCP socket to all addresse s33 ; (IPv6 and IPv4-mapped) on a specific port ;34 ; '/path/to/unix/socket' - to listen on a unix socket.35 ; Note: This value is mandatory.36 listen = 0.0.0.0:9000 #网段写为0.0.0.0主要是为了好让nginx监听该端口11、将php的配置文件目录下拷贝为php-fpm.conf[14:18:02 root@WEB php-7.4.7]#cp /app/php/etc/php-fpm.conf.default/app/php/etc/php-fpm.conf启动php:
范例:
1、重新加载系统服务,并启动php-fpm、和查看9000端口[14:20:03 root@WEB php-7.4.7]#systemctl daemon-reload[14:21:16 root@WEB php-7.4.7]#systemctl enable --now php-fpm.service[14:21:23 root@WEB php-7.4.7]#ss -ntl | grep 9000LISTEN 0 128 *:9000 *:*3.2.1 测试PHP
在nginx的html目录下编一个php测试页面
范例:
[14:21:53 root@WEB php-7.4.7]#vim /apps/nginx/html/test.php<?phpphpinfo();?>打开http://10.0.0.27/test.php显示php测试页面、说明nginx现在已经支持PHP服务
3.3、二进制安装数据库
mariadb数据库下载地址:https://mirrors.tuna.tsinghua.edu.cn/mariadb/
安装10.5.3范例:
1、通过在清华源上下载10.5.3版本的mariadb数据库[13:29:50 root@MYSQL ~]#wgethttps://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.5.3/bintar-linuxsystemd-x86_64/mariadb-10.5.3-linux-systemd-x86_64.tar.gz2、创建mysql用户并创建家目录[14:29:49 root@MYSQL ~]#useradd mysql -s /sbin/nologin -M3、创建自定义数据库目录[14:30:00 root@MYSQL ~]#mkdir /data/mysql/mysql3306/{data,binlog,logs,tmp} -p4、对mysql3306这个目录进行授权,授权给mysql用户chown -R mysql.mysql /data/mysql/mysql3306/ 5、安装相关依赖包[14:30:58 root@MYSQL ~]#yum install libaio.x86_64 libaio-devel.x86_64 novacomserver.x86_64 libedit -y6、解压mariadb安装包、指定解压到/usr/local[14:32:07 root@MYSQL ~]#tar xf mariadb-10.5.3-linux-systemd-x86_64.tar.gz -C/usr/local/ 7、进入到/usr/local/src目录下添加一个mysql的软连接[14:33:36 root@MYSQL ~]#cd /usr/local/[14:33:52 root@MYSQL local]#ln -s mariadb-10.5.3-linux-systemd-x86_64/ mysql8、提示:初始化时要在/usr/local/mysql/ 目录下创建一个空的影藏文件.my.cnf文件,否则会提示文件不存在,导致初始化失败。这是新版mariadb的特性[14:34:11 root@MYSQL local]#cd /usr/local/mysql/;touch .my.cnf9、初始化命令[14:34:51 root@MYSQL mysql]#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/mysql3306/data --defaultsfile=./.my.cnf10、修改/etc/my.cnf配置文件、指定数据库存放目录、和socket文件路径。[14:35:18 root@MYSQL mysql]#vim /etc/my.cnf[mysqld]datadir=/data/mysql/mysql3306/datasocket=/tmp/mysql.sock11、初始化好了就配置mariadb启动方式为systemd启动[14:36:15 root@MYSQL mysql]#cp support-files/systemd/mariadb.service/usr/lib/systemd/system/mariadb.service12、设置为开机启动、检查3306端口已开启[14:37:21 root@MYSQL mysql]#systemctl enable --now mariadb[14:37:12 root@MYSQL mysql]#ss -ntl | grep 3306LISTEN 0 80 [::]:3306 [::]:* 13、做软连接,通过mysql命令来进入交互模式[14:37:55 root@MYSQL mysql]#ln -s /usr/local/mysql/bin/mysql /usr/bin/ 14、登录mysql服务[14:39:03 root@MYSQL mysql]#mysqlWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 3Server version: 10.5.3-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]>3.3.1、授权wordpress用户权限和数据库
范例:
1、创建一个为wordpress网页提供服务的WEB数据库MariaDB [(none)]> create database WEB;Query OK, 1 row affected (0.001 sec)2、创建一个zgy用户来对WEB数据库的所有操作、并且指定IP为10.0.0.27 web服务器IP密码为12345MariaDB [(none)]> grant all on WEB.* to zgy@'10.0.0.27' identified by "12345";Query OK, 0 rows affected (0.001 sec)3.4、安装wordpress wordpress
下载地址:https://cn.wordpress.org/download/
web服务器主机上下载并安装wordpress
范例:
1、进入到/usr/local/src通过wget下载wordpress[14:23:16 root@WEB php-7.4.7]#cd /usr/local/src/[14:47:17 root@WEB src]#wget https://cn.wordpress.org/latest-zh_CN.tar.gz2、解压wordpress安装包[14:48:43 root@WEB src]#tar xf latest-zh_CN.tar.gz3、进入wordpress文件,然后拷贝php文件,并将wordpress动到nginx的html文件下[14:49:17 root@WEB src]#cd wordpress/[14:49:50 root@WEB wordpress]#cp wp-config-sample.php wp-config.php[14:50:10 root@WEB wordpress]#cd ..[14:50:16 root@WEB src]#mv wordpress/ /apps/nginx/html/ 4、编辑wordpress调用数据配置文件[14:50:25 root@WEB src]#vim /apps/nginx/html/wordpress/wp-config.php/** WordPress数据库的名称 */define( 'DB_NAME', 'WEB' );/** MySQL数据库用户名 */define( 'DB_USER', 'zgy' );/** MySQL数据库密码 */define( 'DB_PASSWORD', '12345' );/** MySQL主机 */define( 'DB_HOST', '10.0.0.37' );/** 创建数据表时默认的文字编码 */define( 'DB_CHARSET', 'utf8' );/** 数据库整理类型。如不确定请勿更改 */define( 'DB_COLLATE', '' );5、修改nginx配置文件把html显示页面的根改为wordpress目录[14:54:54 root@WEB src]#vim /apps/nginx/conf/nginx.confuser nginx;worker_processes 1;events {worker_connections 1024;}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65 65;server_tokens off;server {listen 80;server_name 10.0.0.27;charset utf-8;location / {error_page 500 502 503 504 404 /50x.html;root /apps/nginx/html/wordpress; #因为要将wordpress作为网络目录index index.php index.html index.htm;}location = /50x.html {root html;}location ~ \.php$ {root /apps/nginx/html/wordpress; #因为要将wordpress作为网络目录fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}}}4、浏览器访问测试wordpress已经搭好浏览器访问我们的web服务器IP: http://10.0.0.27
创建wordpress信息
登录wordpress
登录仪表盘