## 步骤一:准备编译环境
2. 关闭防火墙。
1. 运行systemctl status firewalld命令查看当前防火墙的状态。
[![查看防火墙状态](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/64105/156560602432172_zh-CN.png)](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/64105/156560602432172_zh-CN.png)
* 如果防火墙的状态参数是inactive,则防火墙为关闭状态。
* 如果防火墙的状态参数是active,则防火墙为开启状态。本示例中防火墙为开启状态,因此需要关闭防火墙。
2. 关闭防火墙。如果防火墙为关闭状态可以忽略此步骤。
* 如果您想临时关闭防火墙,运行命令systemctl stop firewalld。
**说明**这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。
* 如果您想永久关闭防火墙,运行命令systemctl disable firewalld。
**说明**如果您想重新开启防火墙,请参见[firewalld官网信息](https://firewalld.org/)。
3. 关闭SELinux。
1. 运行getenforce命令查看SELinux的当前状态。
[![查看SELinux状态](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/9763/156560602421065_zh-CN.png)](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/9763/156560602421065_zh-CN.png)
* 如果SELinux状态参数是Disabled, 则SELinux为关闭状态。
* 如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因此需要关闭SELinux。
2. 关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
* 如果您想临时关闭SELinux,运行命令setenforce 0。
**说明**这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启。
* 如果您想永久关闭SELinux,运行命令vi /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到`SELINUX=enforcing`这一行,按`i`键进入编辑模式,修改为`SELINUX=disabled`, 按`Esc`键,然后输入`:wq`并按`Enter`键以保存并关闭SELinux配置文件。
**说明**如果您想重新开启SELinux,请参见[SELinux的官方文档](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/ch-selinux#s1-SELinux-resources)。
3. 重启系统使设置生效。
## 步骤二:安装Nginx
完成以下操作,安装Nginx。
1. 运行以下命令安装Nginx。vim /etc/yum.repos.d/nginx.repo ,添加以下内容
```
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
```
2. 运行以下命令查看Nginx版本。
~~~
yum -y install nginx
nginx -v
~~~
返回结果如下所示,表示Nginx安装成功。
~~~
nginx version: nginx/1.12.2
~~~
## 步骤三:安装MySQL
完成以下操作,安装MySQL。
1. 运行以下命令更新YUM源。
~~~
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
~~~
2. 运行以下命令安装MySQL。
~~~
yum -y install mysql-community-server
~~~
3. 运行以下命令查看MySQL版本号。
~~~
mysql -V
~~~
返回结果如下所示,表示MySQL安装成功。
~~~
mysql Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using EditLine wrapper
~~~
## 步骤四:安装PHP
完成以下操作,安装PHP。
1. 依次运行以下命令更新YUM源。
~~~
# yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
~~~
**说明**本教程以`ius-release-1.0-15.ius.centos7.noarch.rpm`版本为例。实际安装过程中,请您使用最新版本ius-release软件包。
2. 运行以下命令安装PHP及扩展包。
~~~
yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongo
~~~
3. 运行以下命令查看PHP版本。
~~~
php -v
~~~
返回结果如下所示,表示安装成功。
~~~
PHP 7.0.33 (cli) (built: Dec 6 2018 22:30:44) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies
~~~
## 步骤五:配置Nginx
### nginx默认目录
/usr/share/nginx/html/
1. 运行以下命令备份Nginx配置文件。
~~~
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
~~~
2. 运行以下命令打开Nginx配置文件。
~~~
vim /etc/nginx/conf.d/default.conf
~~~
3. 按`i`进入编辑模式。
4. 在`Server`大括号内,添加下列配置信息,使Nginx支持PHP请求。
~~~
server {
listen 80;
server_name localhost;
root /var/www; #1.新增root路径
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /var/www;
index index.php index.html index.htm; #2.新增index.php
#修改2:这里新增url重写(path)
try_files $uri $uri/ /index.php$is_args$args;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www; #3.修改路径
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
location ~ \.php$ {
root /var/www/; #打开并修改php路径
fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #修改4:修改fastcig的路径
include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
~~~
**说明**若不添加此配置信息,则Nginx无法处理您的PHP请求,即您请求的PHP页面将无法打开。
5. 运行以下命令启动Nginx服务。
~~~
systemctl start nginx
~~~
6. 运行以下命令设置Nginx服务开机自启动。
~~~
systemctl enable nginx
~~~
## 步骤六:配置MySQL
完成以下操作,配置MySQL。
1. 运行以下命令启动MySQL服务。
~~~
systemctl start mysqld
~~~
2. 运行以下命令设置MySQL服务开机自启动。
~~~
systemctl enable mysqld
~~~
3. 运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。
~~~
# grep 'temporary password' /var/log/mysqld.log
2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD
~~~
**说明**下一步重置root用户密码时,会使用该初始密码。
4. 运行以下命令配置MySQL的安全性。
~~~
mysql_secure_installation
~~~
安全性的配置包含以下五个方面:
1. 重置root账号密码。
~~~
Enter password for user root: #输入上一步获取的root用户初始密码
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #是否更改root用户密码,输入Y
New password: #输入新密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号可以是()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
Re-enter new password: #再次输入新密码
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
~~~
2. 输入`Y`删除匿名用户账号。
~~~
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #是否删除匿名用户,输入Y
Success.
~~~
3. 输入`Y`禁止root账号远程登录。
~~~
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root远程登录,输入Y
Success.
~~~
4. 输入`Y`删除test库以及对test库的访问权限。
~~~
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test库和对它的访问权限,输入Y
- Dropping test database...
Success.
~~~
5. 输入`Y`重新加载授权表。
~~~
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加载授权表,输入Y
Success.
All done!
~~~
5.在终端输入“`mysql -u root -p`”登入数据库
6.新建数据库
MySQL \[(none)\]> create database wpdb;
Query OK, 1 row affected (0.00 sec)
7.创建供wordpress调用数据库的账户:
这里wpdb数据库账户为:wpdb,密码为b=IA=X5jBs(j
~~~
MySQL [(none)]> grant all privileges on wpdb.* to 'wpdb'@'localhost' identified by 'b=IA=X5jBs(j';
Query OK, 0 rows affected, 1 warning (0.00 sec)
~~~
更多详情,请参见[MySQL官方文档](http://dev.mysql.com/doc/refman/5.7/en/mysql-secure-installation.html)。
## 步骤七:配置PHP
完成以下操作,配置PHP。
1. 在/usr/share/php的默认目录下新建phpinfo.php文件,用于展示phpinfo信息。具体步骤如下:
1. 运行vim /var/www/phpinfo.php命令打开文件。
2. nginx那已经修改为 /var/www目录
3. 输入下列内容。
```
<?php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接错误: ' . mysqli_error($conn));
}
echo '连接成功<br />';
$sql = 'CREATE DATABASE RUNOOB';
$retval = mysqli_query($conn,$sql );
if(! $retval )
{
die('创建数据库失败: ' . mysqli_error($conn));
}
echo "数据库 RUNOOB 创建成功\n";
mysqli_close($conn);
//输出php信息
php echo phpinfo();
?>
```
2.
```
配置 php
安装完成之后,我们需要对它进行一些配置。首先,我们打开配置文件:
vim /etc/php.ini
打开文件后,我们找到 cgi.fix_pathinfo 并把它的值设置为 0
#配置好 php.ini 文件之后,我们来配置 /etc/php-fpm.d/www.conf 文件
vim /etc/php-fpm.d/www.conf
#第一处修改,将 listen = 127.0.0.1:9000 修改为如下:
listen = /var/run/php-fpm/php-fpm.sock
#然后找到下面两行,删掉前面的 ; 分号,取消注释。
listen.owner = nobody
listen.group = nobody
#最后,我们找到下面两行
user = apache
group = apache
#将 apache 换成 nginx,如下所示:
user = nginx
group = nginx
好,这样,我们就已经安装并且配置好了。下面我们可以启动了。
# 启动PHP
systemctl start php-fpm
# 将它设置为开机启动
systemctl enable php-fpm
```
## 步骤八:测试访问LNMP平台
完成以下操作,测试访问LNMP平台。
1. 打开浏览器。
2. 在地址栏输入`http://<ECS实例公网IP地址>/phpinfo.php`。
返回结果如下图所示,表示LNMP环境部署成功。
[![LNMP部署成功](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/64105/156560602544922_zh-CN.png)](http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/64105/156560602544922_zh-CN.png)
## 步骤九:安装Wordpress 网站系统
执行以下命令:
~~~
cd /var/wordpress/
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.4-zh_CN.zip
mv wordpress/* /var/wordpress/
cd /var/
chmod 755 -R wordpress
chown nginx:nginx -R wordpress
~~~
## 后续步骤
测试访问LNMP平台成功后,建议您运行以下命令将/usr/share/php/phpinfo.php文件删除,消除安全隐患。
~~~
rm -rf /usr/share/php/phpinfo.php
~~~
- 简介
- 前端
- html
- css
- css选择器
- fiex布局
- 盒装模型
- javascript
- 原型链
- 作用域
- 事件绑定
- dom
- bom
- jquery
- 选择器
- jquery事件绑定
- layui
- bootstrap
- vue
- 路由(Vue Router)
- Vue CLI
- axios
- vant
- 打包部署
- 自定义组件
- 一些前端效果
- 点击复制功能
- 后端
- php框架
- thinkphp
- 隐藏index.php
- thinkphp实现多表查询
- thinkphp使用ajax单图上传
- thinkphp使用ajax图集上传
- thinkphp使用ajax查询是否重名
- thinkphp使用ajax表单上传
- where多个条件
- 邮件发送功能
- thinkphp短信宝发送短信
- tp5事务
- validate验证二维数组
- yii2
- yii配置邮件
- yii的CRUD操作
- layui中两种展示表单的方式
- laravel
- laravel实例
- laravel登录
- laravel前端注册
- laravel列表
- laravel删除
- laravel编辑
- laravel新增
- Laravel 目录结构
- Laravel 路由
- Laravel 控制器
- Laravel 模型读操作
- Laravel 模型增、删、改操作
- Laravel 中间件
- Laravel 视图
- Laravel ,YII,thinkphp 框架的区别
- 会话控制
- session
- session存入redis
- session创建
- session删除
- cookie
- 面向对象
- 三大特性
- 魔术方法
- 修饰符
- obj变量
- php
- php版本差异
- php7与php5的区别
- PHP 内存溢出问题
- 数据类型
- PHP 垃圾回收机制(GC)
- 文件目录操作
- php函数
- 字符串相关函数
- 数组相关函数
- 超全局数组与超全局变量
- php魔术方法
- 引用变量
- php类库
- 1.根据随机数生成6位密钥
- 2.获取客户端IP地址
- 3.多维数组变成一维数组
- 4.判断是否是微信浏览器
- 5.判断是否是移动端
- 6.隐藏手机号码156***8956
- 7.隐藏邮箱 9533*****@qq.com
- 8.数组排序
- 9.添加操作日志
- 10.无线分类按子分类排序
- 11.从数组中删除空白的元素
- 12.字符串相关类库
- curl模拟post/get请求
- 替换中间四位数
- PHP地理位置计算
- 生成唯一订单号
- 阿拉伯数字转化为大写
- 时间戳转为中文时间
- php获取本年、本月、本周时间戳和日期格式的实例代码(分析)
- 去除数据库的数据空格
- 压缩Zip文件和文件打包下载
- PHP常用六大设计模式
- 单例模式
- 工厂模式
- 注册树模式
- 策略模式
- 适配器模式
- 观察者模式
- 数据库
- 留言板功能
- 所了解的数据库
- sql server
- Memecached
- MongoDB
- mysql
- 存储引擎(MyISAM与InnoDB)
- 库表CRUD操作
- 索引
- 事务
- mysql常用命令
- 悲观锁和乐观锁
- 数据库优化
- 大流量大并发优化
- Redis
- redis相关考点
- 开启redis
- redis缓存cache
- redis存储session
- redis限制提交次数
- 缓存雪崩,击穿,穿透(copy)
- redis数据结构及使用场景
- 消息队列
- Redis、Memecached 区别?
- phpstudy升级mysql版本
- 分表
- 读写分离
- linux
- 开发环境搭建
- mysql配置
- centos7(lnmp)环境搭建
- ubuntu(lnmp)环境搭建
- Nginx
- nginx四个基本功能
- nginx重启出错
- Nginx 的反向代理
- 用户用户组
- 虚拟机安装
- linux常用命令
- chmod命令
- ubuntu下apt-get 命令
- 释放内存
- 云锁安装及使用
- 大部队搭建
- Centos开启端口命令
- Centos禁止root登录
- Centos7修改22端口
- Rsync备份
- 开启端口
- 微信开发
- 辅助开发
- 网站SEO
- TCP/IP协议
- HTTP 请求全过程
- http状态码
- http和https的区别
- http请求三部分
- tcp三次握手
- 三次握手的作用
- tcp四次挥手
- CMS
- 织梦CMS
- 帝国cms
- wordpress
- 禅知cms
- 八大接口
- 微信支付
- 支付宝支付
- 邮件
- 微博登录
- QQ登录
- 快递
- 天气
- 常见算法
- 快速排序
- 冒泡排序
- 选择排序
- 插入排序
- 二分查找
- 希尔排序
- V2Ray搭建
- AJAX
- GIT
- RBAC用户权限管理数据库设计
- 开发中遇到的一些问题
- 资料购买
- 建立ssr服务器
- 简单建
- 申请并使用ssl证书
- 正则表达式手册
- phpstorm
- 注册码
- 备用注册码
- 网站设计概要
- 网站相关功能代码
- 权限(RBAC/AUTH)
- 无限级分类
- 记住登录状态
- email找回密码
- 企业网站开发概要
- 网站后台
- 文章管理
- 栏目管理 CRUD 上级栏目
- 栏目管理
- 友情链接
- 操作日志
- 登录注册
- 权限管理
- 网站配置
- 网站前台
- 首页
- 新闻动态
- 联系
- 案例
- 关于
- 单店铺商城开发概要
- 面试准备
- 有意思的面试题
- 拉钩面试要求
- 慕课面试视频知识总结
- 面试题汇总
- 题目1
- 一些工作的要求
- 前端炒的
- 面试项目介绍
- MySQL面试100 问
- 术语库
- redis相关
- php操作redis
- redis消息队列(异步)
- redis消息队列(同步)