热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx服务LNMP之WordPress部署流程步骤_nginx

这篇文章主要为大家介绍了Nginx服务LNMP之WordPress部署流程步骤,本实验意在部署过程,使用单机版部署,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家

实验环境

实验环境:

[root@lnmp ~]# uname -r
2.6.32-754.el6.x86_64
[root@lnmp ~]# cat /etc/redhat-release
CentOS release 6.10 (Final)
[root@lnmp ~]# cat /etc/hosts
192.168.1.30 lnmp
172.16.1.30 lnmp

软件版本:

NGINX:nginx-1.12.2.tar.gz
MYSQL:mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
PHP:php-5.5.3.tar.gz
libiconv:libiconv-1.16.tar.gz
wordpress:wordpress-4.7.3-zh_CN.tar.gz

安装Nginx服务

Nginx服务部署过程:

请参考:小白也可以完成的0基础部署Nginx服务

安装Mysql数据库

下载二进制MySQL包:

[root@lnmp tools]# wget -q https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz

解压MySQL包:

[root@lnmp tools]# tar xf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz -C /app/

创建MySQL用户及授权:

[root@lnmp tools]# cd /app/
[root@lnmp app]# ln -s mysql-5.6.47-linux-glibc2.12-x86_64/ /app/mysql
[root@lnmp tools]# useradd mysql -s /sbin/nologin -M
[root@lnmp mysql]# chown mysql.mysql /app/mysql/data/

初始化MySQL:

第一遍初始化报错,然后我把data目录下东西干掉后就好了。什么原理?

[root@lnmp mysql]# bin/mysqld --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql

制作MySQL启动脚本:

[root@lnmp data]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
cp:是否覆盖"/etc/init.d/mysqld"? y
[root@lnmp mysql]# sed -ri 's#/usr/local#/app#g' /etc/init.d/mysqld /app/mysql/bin/mysqld_safe

创建配置文件:

[root@lnmp mysql]# cp /app/mysql/support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y

启动MySQL:

[root@lnmp mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@lnmp mysql]# netstat -utpln | grep mysqld
tcp 0 0 :::3306 :::* LISTEN 17796/mysqld

设置环境变量:

[root@lnmp mysql]# echo 'export PATH=/app/mysql/bin:$PATH' >>/etc/profile
[root@lnmp mysql]# source /etc/profile

登录数据库:

因为初始密码为空,所以登录后要修改密码

[root@lnmp mysql]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.47 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
[root@lnmp mysql]# mysqladmin -u root password '123123'
Warning: Using a password on the command line interface can be insecure.
[root@lnmp mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.47 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

安装PHP

下载PHP包及liblconv包:

[root@lnmp ~]# cd /server/tools/
[root@lnmp tools]# wget https://museum.php.net/php5/php-5.5.3.tar.gz
[root@lnmp tools]# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz

安装依赖包:

[root@lnmp tools]# yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel
[root@lnmp tools]# yum -y install libiconv-devel freetype-devel libpng-devel gd-devel
[root@lnmp tools]# yum -y install libcurl-devel libxslt-devel
[root@lnmp tools]# yum -y install libmcrypt-devel mhash mcrypt

编译安装语言转换工具:

[root@lnmp tools]# tar xf libiconv-1.16.tar.gz
[root@lnmp tools]# cd libiconv-1.16
[root@lnmp libiconv-1.16]# ./configure --prefix=/usr/local/libiconv
[root@lnmp libiconv-1.16]# make && make install

解压PHP包进行预编译:

[root@lnmp libiconv-1.16]# cd /server/tools/
[root@lnmp tools]# tar xf php-5.5.3.tar.gz
[root@lnmp tools]# cd php-5.5.3
[root@lnmp php-5.5.3]# mkdir -p /app/php-5.5.3
[root@lnmp php-5.5.3]# ./configure --prefix=/app/php-5.5.3 --with-mysql --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no
[root@lnmp php-5.5.3]# echo $?
0

防报错处理:

[root@lnmp php-5.5.3]# ln -s /app/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@lnmp php-5.5.3]# touch ext/phar/phar.phar

编译安装PHP:

[root@lnmp php-5.5.3]# make && make install
[root@lnmp php-5.5.3]# echo $?
0
[root@lnmp php-5.5.3]# cp php.ini-production /app/php-5.5.3/lib/
[root@lnmp php-5.5.3]# ln -s /app/php-5.5.3/ /app/php
[root@lnmp php-5.5.3]# cd /app/php/etc/
[root@lnmp etc]# ll
总用量 28
-rw-r--r-- 1 root root 1152 8月 25 06:39 pear.conf
-rw-r--r-- 1 root root 21846 8月 25 06:39 php-fpm.conf.default
[root@lnmp etc]# cp php-fpm.conf.default php-fpm.conf
[root@lnmp etc]# vim php-fpm.conf
listen = 172.16.1.30:9000

启动PHP:

[root@lnmp etc]# useradd -s /sbin/nologin -M www
[root@lnmp etc]# /app/php/sbin/php-fpm
[root@lnmp etc]# netstat -utpln | grep php
tcp 0 0 172.16.1.30:9000 0.0.0.0:* LISTEN 39741/php-fpm

修改Nginx配置文件


[root@lnmp etc]# cd /app/nginx/conf/
[root@lnmp conf]# cp nginx.conf nginx.conf.bak
[root@lnmp conf]# grep -Ev "#|^$" nginx.conf.default >nginx.conf
[root@lnmp conf]# vim nginx.conf
[root@lnmp conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 192.168.1.30;
location / {
root html/www;
index index.html index.htm index.php;
location ~* .*\.(php|php5)?$ {
fastcgi_pass 172.16.1.30:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@lnmp conf]# /app/nginx/sbin/nginx -t
nginx: the configuration file /app/nginx-1.12.2//conf/nginx.conf syntax is ok
nginx: configuration file /app/nginx-1.12.2//conf/nginx.conf test is successful

重新启动Nginx服务:

[root@lnmp etc]# /app/nginx/sbin/nginx -s reload

测试:

[root@lnmp etc]# cd /app/nginx/html/
[root@lnmp html]# ls
50x.html index.html
[root@lnmp html]# vim test_php.php
[root@lnmp html]# cat test_php.php
phpinfo();
?>
网页访问:192.168.1.30/test_php.php出现php页面,代表正常

部署WordPress个人博客

下载安装包:

[root@lnmp tools]# wget https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
[root@lnmp tools]# tar xf wordpress-4.7.3-zh_CN.tar.gz

部署站点:

[root@lnmp tools]# mkdir -p /app/nginx/html/www
[root@lnmp tools]# mv wordpress/* /app/nginx/html/www
[root@lnmp tools]# chown -R www.www /app/nginx/html/www/

创建数据库信息:

[root@lnmp tools]# mysql -uroot -p123123
mysql> create database wordpress;
Query OK, 1 row affected (0.01 sec)
mysql> grant all on wordpress.* to 'wordpress'@'localhost' identified by '123123';
Query OK, 0 rows affected (0.04 sec)

登录网站配置网站:

http://ip/wp-admin

在这里插入图片描述

主机默认localhost。截错了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到这里基本就部署好了,里面的一些详细配置就不说了。。。

实验环境

实验环境:

[root@lnmp ~]# uname -r
2.6.32-754.el6.x86_64
[root@lnmp ~]# cat /etc/redhat-release
CentOS release 6.10 (Final)
[root@lnmp ~]# cat /etc/hosts
192.168.1.30 lnmp
172.16.1.30 lnmp

软件版本:

NGINX:nginx-1.12.2.tar.gz
MYSQL:mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz
PHP:php-5.5.3.tar.gz
libiconv:libiconv-1.16.tar.gz
wordpress:wordpress-4.7.3-zh_CN.tar.gz

安装Nginx服务

Nginx服务部署过程:

请参考:小白也可以完成的0基础部署Nginx服务

安装Mysql数据库

下载二进制MySQL包:

[root@lnmp tools]# wget -q https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.6/mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz

解压MySQL包:

[root@lnmp tools]# tar xf mysql-5.6.47-linux-glibc2.12-x86_64.tar.gz -C /app/

创建MySQL用户及授权:

[root@lnmp tools]# cd /app/
[root@lnmp app]# ln -s mysql-5.6.47-linux-glibc2.12-x86_64/ /app/mysql
[root@lnmp tools]# useradd mysql -s /sbin/nologin -M
[root@lnmp mysql]# chown mysql.mysql /app/mysql/data/

初始化MySQL:

第一遍初始化报错,然后我把data目录下东西干掉后就好了。什么原理?

[root@lnmp mysql]# bin/mysqld --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql

制作MySQL启动脚本:

[root@lnmp data]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
cp:是否覆盖"/etc/init.d/mysqld"? y
[root@lnmp mysql]# sed -ri 's#/usr/local#/app#g' /etc/init.d/mysqld /app/mysql/bin/mysqld_safe

创建配置文件:

[root@lnmp mysql]# cp /app/mysql/support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y

启动MySQL:

[root@lnmp mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@lnmp mysql]# netstat -utpln | grep mysqld
tcp 0 0 :::3306 :::* LISTEN 17796/mysqld

设置环境变量:

[root@lnmp mysql]# echo 'export PATH=/app/mysql/bin:$PATH' >>/etc/profile
[root@lnmp mysql]# source /etc/profile

登录数据库:

因为初始密码为空,所以登录后要修改密码

[root@lnmp mysql]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.47 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
[root@lnmp mysql]# mysqladmin -u root password '123123'
Warning: Using a password on the command line interface can be insecure.
[root@lnmp mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.47 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

安装PHP

下载PHP包及liblconv包:

[root@lnmp ~]# cd /server/tools/
[root@lnmp tools]# wget https://museum.php.net/php5/php-5.5.3.tar.gz
[root@lnmp tools]# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz

安装依赖包:

[root@lnmp tools]# yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel
[root@lnmp tools]# yum -y install libiconv-devel freetype-devel libpng-devel gd-devel
[root@lnmp tools]# yum -y install libcurl-devel libxslt-devel
[root@lnmp tools]# yum -y install libmcrypt-devel mhash mcrypt

编译安装语言转换工具:

[root@lnmp tools]# tar xf libiconv-1.16.tar.gz
[root@lnmp tools]# cd libiconv-1.16
[root@lnmp libiconv-1.16]# ./configure --prefix=/usr/local/libiconv
[root@lnmp libiconv-1.16]# make && make install

解压PHP包进行预编译:

[root@lnmp libiconv-1.16]# cd /server/tools/
[root@lnmp tools]# tar xf php-5.5.3.tar.gz
[root@lnmp tools]# cd php-5.5.3
[root@lnmp php-5.5.3]# mkdir -p /app/php-5.5.3
[root@lnmp php-5.5.3]# ./configure --prefix=/app/php-5.5.3 --with-mysql --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no
[root@lnmp php-5.5.3]# echo $?
0

防报错处理:

[root@lnmp php-5.5.3]# ln -s /app/mysql/lib/libmysqlclient.so.18 /usr/lib64/
[root@lnmp php-5.5.3]# touch ext/phar/phar.phar

编译安装PHP:

[root@lnmp php-5.5.3]# make && make install
[root@lnmp php-5.5.3]# echo $?
0
[root@lnmp php-5.5.3]# cp php.ini-production /app/php-5.5.3/lib/
[root@lnmp php-5.5.3]# ln -s /app/php-5.5.3/ /app/php
[root@lnmp php-5.5.3]# cd /app/php/etc/
[root@lnmp etc]# ll
总用量 28
-rw-r--r-- 1 root root 1152 8月 25 06:39 pear.conf
-rw-r--r-- 1 root root 21846 8月 25 06:39 php-fpm.conf.default
[root@lnmp etc]# cp php-fpm.conf.default php-fpm.conf
[root@lnmp etc]# vim php-fpm.conf
listen = 172.16.1.30:9000

启动PHP:

[root@lnmp etc]# useradd -s /sbin/nologin -M www
[root@lnmp etc]# /app/php/sbin/php-fpm
[root@lnmp etc]# netstat -utpln | grep php
tcp 0 0 172.16.1.30:9000 0.0.0.0:* LISTEN 39741/php-fpm

修改Nginx配置文件


[root@lnmp etc]# cd /app/nginx/conf/
[root@lnmp conf]# cp nginx.conf nginx.conf.bak
[root@lnmp conf]# grep -Ev "#|^$" nginx.conf.default >nginx.conf
[root@lnmp conf]# vim nginx.conf
[root@lnmp conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 192.168.1.30;
location / {
root html/www;
index index.html index.htm index.php;
location ~* .*\.(php|php5)?$ {
fastcgi_pass 172.16.1.30:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@lnmp conf]# /app/nginx/sbin/nginx -t
nginx: the configuration file /app/nginx-1.12.2//conf/nginx.conf syntax is ok
nginx: configuration file /app/nginx-1.12.2//conf/nginx.conf test is successful

重新启动Nginx服务:

[root@lnmp etc]# /app/nginx/sbin/nginx -s reload

测试:

[root@lnmp etc]# cd /app/nginx/html/
[root@lnmp html]# ls
50x.html index.html
[root@lnmp html]# vim test_php.php
[root@lnmp html]# cat test_php.php
phpinfo();
?>
网页访问:192.168.1.30/test_php.php出现php页面,代表正常

部署WordPress个人博客

下载安装包:

[root@lnmp tools]# wget https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz
[root@lnmp tools]# tar xf wordpress-4.7.3-zh_CN.tar.gz

部署站点:

[root@lnmp tools]# mkdir -p /app/nginx/html/www
[root@lnmp tools]# mv wordpress/* /app/nginx/html/www
[root@lnmp tools]# chown -R www.www /app/nginx/html/www/

创建数据库信息:

[root@lnmp tools]# mysql -uroot -p123123
mysql> create database wordpress;
Query OK, 1 row affected (0.01 sec)
mysql> grant all on wordpress.* to 'wordpress'@'localhost' identified by '123123';
Query OK, 0 rows affected (0.04 sec)

登录网站配置网站:

http://ip/wp-admin

在这里插入图片描述

主机默认localhost。截错了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到这里基本就部署好了,里面的一些详细配置就不说了。。。


推荐阅读
  • 四月个人任务:Linux基础操作与网络管理
    本文介绍了两项主要任务:编写一个脚本来检测192.168.1.0/24子网中当前在线的IP地址,以及如何在Linux系统中挂载Windows网络共享目录。通过具体步骤和代码示例,帮助读者理解和掌握相关技能。 ... [详细]
  • Python中调用Java代码的方法与实践
    本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ... [详细]
  • VS Code 中 .vscode 文件夹配置详解
    本文介绍了 VS Code 中 .vscode 文件夹下的配置文件及其作用,包括常用的预定义变量和三个关键配置文件:launch.json、tasks.json 和 c_cpp_properties.json。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 本文旨在为初学者提供一个详细的指南,从零开始学习如何使用 ASP.NET MVC5 和 Entity Framework 6 (EF6) 搭建项目。通过逐步指导,帮助读者理解 MVC 架构的核心概念,并掌握基本的操作方法。 ... [详细]
  • 解析 HTTP 头 'Vary: Accept-Encoding' 的作用与重要性
    本文详细探讨了 'Vary: Accept-Encoding' HTTP 头的作用,即指导缓存系统(如代理服务器和 CDN)根据不同的编码需求存储和提供适当的资源版本,确保不同类型的客户端能够接收到适合自己的内容。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • 13、单向链表
    头文件:LinkList.hLinkList.cmain.cVS2 ... [详细]
  • 深入解析 Zend Guard 4 功能与配置
    本文旨在通过图文并茂的方式详细介绍 Zend Guard 4 的核心功能及其配置方法,特别适合英文阅读能力有限的技术人员。文中不仅提供了详细的步骤说明,还附带了实际操作中的注意事项,帮助读者更好地理解和应用这一工具。 ... [详细]
  • 抽象工厂模式 c++
    抽象工厂模式包含如下角色:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProduct:抽象产品Product:具体产品https ... [详细]
  • 解决Win7中BAT文件无法设置管理员权限的问题
    本文介绍了一种通过创建快捷方式并使用其高级属性中的“以管理员身份运行”选项来解决Windows 7系统下BAT文件无法直接设置为管理员权限的方法。 ... [详细]
  • UMPlatForm.NET 5.1 版本数据字典管理功能解析
    本文介绍了 UMPlatForm.NET 5.1 版本中的数据字典管理模块,探讨了该模块如何支持平台的数据共享与管理,以及如何通过用户和角色权限来增强系统的安全性。 ... [详细]
  • Spring Boot 初学者指南(第一部分)
    本文介绍了Spring Boot框架的基础知识,包括其设计理念、主要优势以及如何简化传统的J2EE开发流程。 ... [详细]
  • 本文详细介绍了Linux系统中的三个主要分区:启动分区、交换分区和根分区的功能与特点,以及常见的文件类型、文件搜索方法和常用符号的使用。此外,还深入解析了mkdir和rm命令的具体应用。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有