LNMP环境安装
一、LNMP
1.使用LNMP的优点:
- 资源占用少
- 更多并发
- 代理服务器
- 热启动
- 稳定高效
- 负载均衡
- 邮件服务器
2、安装前准备:
2.1查看防火墙(默认开启):
[root@localhost ~]# systemctl status firewalld
2.2关闭防火墙:
[root@localhost ~]# systemctl stop firewalld.service #停止firewall服务
[root@localhost ~]# systemctl disable firewalld.service #禁止开机自启动
2.2.1或者开启某端口号
#安装完nginx之后再修改
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
> listen 81; #修改80端口为81,按自己需求。
[root@localhost ~]# systemctl restart nginx #重启nginx
[root@localhost ~]# firewall-cmd --add-port=81/tcp #临时开启81端口
[root@localhost ~]# firewall-cmd --permanent --add-port=81/tcp #永久添加81端口
[root@localhost ~]# firewall-cmd --reload #重启防火墙
3、YUM安装与相关配置:
3.1配置Nginx仓库
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
在官方源找到的.Repo包帮助,写入Nginx.repo中:
# /etc/yum.repos.d/nginx.repo
# Date 2019_7_14
[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
安装步骤:
[root@localhost ~]# yum update #更新源仓库
[root@localhost ~]# yum install -y nginx #安装nginx
[root@localhost ~]# systemctl start nginx #开启nginx服务
[root@localhost ~]# systemctl enable nginx #开机自启
[root@localhost ~]# nginx -t #测试命令
[root@localhost ~]# nginx -s reload #当修改nginx.conf后的重载
3.2安装php-fpm
在安装php-fpm之前首先了解一下什么是CGI(Common Gateway Interface)。
cgi:它是一种协议。通过cgi协议,web server可以将动态请求和相关参数发送给专门处理动态内容的应用程序。
fastcgi:也是一种协议,只不过是cgi的优化版。cgi的性能较差,fastcgi则在其基础上进行了改进。
php-cgi:fastcgi是一种协议,而php-cgi实现了这种协议。不过这种实现比较烂。它是单进程的,一个进程处理一个请求,处理结束后进程就销毁。
php-cgi工作流程(单进程):
php-fpm:是对php-cgi的改进版,它直接管理多个php-cgi进程/线程。也就是说,php-fpm是php-cgi的进程管理器因此它也算是fastcgi协议的实现。在一定程度上讲,php-fpm与php的关系,和tomcat对java的关系是类似的。
php-fpm转发过程图解
总结:web server和CGI的交互模式
- cgi模式:httpd接收到一个动态请求就fork一个cgi进程,cgi进程返回结果给httpd进程后自我销毁。
- 动态模块模式(同一服务器中):将php-cgi的模块(例如php5_module)编译进httpd。在httpd启动时会加载模块,加载时也将对应的模块激活,php-cgi也就启动了。
- php-fpm模式(不在服务器中,可独立成某一httpd模块):使用php-fpm管理php-cgi,此时httpd不再控制php-cgi进程的启动。可以将php-fpm独立运行在非web服务器上,实现所谓的动静分离。使用php-fpm管理php-cgi,此时httpd不再控制php-cgi进程的启动。可以将php-fpm独立运行在非web服务器上,实现所谓的动静分离。
这里使用yum安装 php-fpm
[root@localhost ~] yum install -y php-fpm
3.3配置PHP文件
[root@localhost ~]# find / -name html #找到nginx下的html目录
[root@localhost ~]# vim /usr/share/nginx/html/index.php #编辑php访问页面
>
# /usr/share/nginx/html/index.php
# PHP页面测试配置
<?php
phpinfo();
?>
3.4配置文件识别到PHP
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
>找到以下位置,并启用
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;# 修改路径
include fastcgi_params;
}
[root@localhost ~]# nginx -s reload # 重启
记一次服务器nginx配置问题:(the page you are looking for is currently unavailable)
1.php-fpm 未正常启动
[root@localhost ~]# ps -ef |grep 9000 #查看php-fpm服务是否开启
[root@localhost ~]# systemctl restart php-fpm
[root@localhost ~]# systemctl restart nginx
2.nginx启动端口修改为81端口:
在浏览器中打开 192.168.110.128:81/index.php
3.更改php路径
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
# 找到 pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
# 修改相关配置
location ~ \.php$ {
root /usr/share/nginx/html;#修改为绝对路径
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#修改为$document或绝对路径
include fastcgi_params;
}
4、安装mariadb(mysql)
[root@localhost ~]# yum install -y mariadb mariadb-server
[root@localhost ~]# systemctl start mariadb.service #启动MariaDB
[root@localhost ~]# systemctl stop mariadb.service #停止MariaDB
[root@localhost ~]# systemctl restart mariadb.service #重启MariaDB
[root@localhost ~]# systemctl enable mariadb.service #设置开机启动
4.1创建修改密码(默认无)
[root@localhost ~]# /usr/bin/mysqladmin -u root password 'passwd' #'passwd'为你设置的密码
[root@localhost ~]# systemctl restart mariadb # 重启
4.2安装PHP以及组件,使PHP支持 MariaDB
当遇到依赖包问题,可选
[root@localhost ~]# yum install -y php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
4.3PHP测试链接数据库
[root@localhost ~]# vim /usr/share/nginx/html/db.php
>#输入以下测试文件
<?php
$link=mysql_connect("localhost","root","passwd");
if(!$link) echo "Link Error!";
else echo "OK!Link Acces!";
mysql_close();
?>
# 重启Php-fpm、nginx、mariadb-server
5、遇到的问题,查看日志
[root@localhost ~]# cat /var/log/nginx/error.log
[root@localhost ~]# cat /var/log/php-fpm/error.log
[root@localhost ~]# cat /var/log/php-fpm/www-error.log
LNMP环境安装的更多相关文章
- CentOS5.5 - lnmp环境安装与使用
CentOS5.5 - lnmp环境安装与使用 到公司搭建环境可以直接使用YUM. 安装一.rpm包安装(安装方便) yum:下载软件包并且安装.前提:连网. yum 使用流程: 1. yum lis ...
- 基于lnmp环境安装Discuz
安装环境 Linux:CentOS Linux release 7.5.1804 (Core) nginx:1.14.2 php-fpm:5.4.16 mariadb-server:5.5.60 基本 ...
- LAMP坏境和LNMP环境安装Nagios4.1.1和基本配置
----------------------------------------以下内容为笔者生产环境的监控,安装都是经过一步步测试的-------------------------------- ...
- 阿里云LNMP环境安装
文档里有一键部署LNMP环境和手动搭建LNMP环境您看下 镜像部署 LNMP 环境:https://help.aliyun.com/document_detail/25427.html?spm=517 ...
- 使用LNMP环境安装typecho博客的全程记录
虽然我是搞asp.net的 但是十分欣赏php,php有很多开源的博客程序 比如大名鼎鼎的Wordpress.还有各种独立博客大牛使用的z-blog,以及短小精悍的emblog. wordpress臃 ...
- 本地虚拟机LNMP环境安装
首先上传源码包到linux中(本人上传到根目录中),随意上传能找到即可 一.配置YUM源(如果已经配好就不许要重新配置) 挂载光驱要挂载到/mnt下 Mount /dev/cdrom /mnt ...
- Lnmp环境安装禅道项目管理软件
1.本地环境 CentOS Linux release 7.5.1804 (Core) PHP 7.1.0-dev (cli) mysql Ver 14.14 Distrib 5.7.22 nginx ...
- linux:lnmp环境搭建
一.准备工作(把安装环境需要使用到的包都下载好) mysql(官网):http://dev.mysql.com/downloads/ php(官网):http://php.net/downloads. ...
- centos7.2环境yum方式快速搭建lnmp环境nginx+mariadb+php-fpm
centos7.2环境yum方式安装nginx+mariadb+php-fpm 1.安装lnmp环境 安装epel源 yum install -y epel-release 安装 MySQL + PH ...
随机推荐
- html5 实例渐变
代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- mybatis 动态Sql的模糊查询
where teacher.tname like concat(concat(#{tName}),'%') 2:distinct的使用 下面先来看看例子: table id name 1 ...
- JS中数据结构之二叉查找树
树是一种非线性的数据结构,以分层的方式存储数据.在二叉树上进行查找非常快,为二叉树添加或删除元素也非常快. 一棵树最上面的节点称为根节点,如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节 ...
- web uploader 上传大文件总结
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- 安装uWebSocketIO
https://github.com/uNetworking/uWebSockets sudo apt-get install libuv1-dev git clone https://github. ...
- PPT技巧
1.秋叶个人的PPT三分钟教程 http://www.pptfans.cn/315656.html 2.<说服力-让你的PPT会说话>秋叶 3.<三体> https://w ...
- 做一个简单的scrapy爬虫
前言: 做一个简单的scrapy爬虫,带大家认识一下创建scrapy的大致流程.我们就抓取扇贝上的单词书,python的高频词汇. 步骤: 一,新建一个工程scrapy_shanbay 二,在工程中中 ...
- python练习题之全选框全不选反选
功能 实现分为两大部分: 第一body 部分,1,通过<li>无序列表标签实现选项的基本样式,通过input的checkbox标签实现里面的复选框功能.用到了标签的嵌套.然后选项的js方法 ...
- 使用 Gradle 快速创建 Java 项目
上一篇介绍了如何安装 Gradle,现在就可以直接通过已经安装好的 Gradle 创建一个普通 Java 项目 Gradle 默认内建了一个 init 插件,可以生成 Java 项目基础结构 $ gr ...
- 用 Flask 来写个轻博客 (29) — 使用 Flask-Admin 实现后台管理 SQLAlchemy
目录 目录 前文列表 扩展阅读 Flask-Admin BaseView 基础管理页面 ModelView 实现效果 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写 ...