我们都知道linux下安装软件主要有三种方式:

1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装;

此方式的优点:可以指定软件版本,可选择性好;编译时可以手动指定需要加载的模块;管理的自由度大,可以修改源代码;

此方式的缺点:软件包之间的依赖关系不好解决,必须要匹配的依赖包;编译过程时间长,出错的地方和几率大,出错不好解决;

2.二进制包安装,比如redhat/centos/opensuse/fedora系列下的rpm 包,debian/ubuntu系列下的deb包,需要用到一些rpm dpkg等包管理器的命令安装;

此种方式的优点:已经编译后的二进制包,安装方便快捷;比编译方式更简单;报错信息更容易理解;

此种方式缺点:依赖关系不好解决,某些情况下一个软件包会依赖多个软件包;

3.使用发行版的包管理命令安装,比如redhat系列下的yum , debian系列下的apt等;

此种方式的优点:依赖关系自动解决,方便快捷;

此种方式的缺点:需要具备软件源,比如网络源,本地源,和网络环境有比较大的关系

以上就简单地介绍到此,接下来我们就使用第三种方式来搭建nginx+mysql+php+linux 环境。

第一步:安装nginx,搭建web服务器:

#将nginx的软件源添加到centos 7 系统中:

#yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

#安装nginx软件:

#yum install nginx -y

#启动nginx服务并加入开机启动项:

#systemctl start nginx && systemctl enable nginx

第二步:安装mysql数据库,此处我们安装5.7版本:

#将mysql5.7软件源添加到系统中

#yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

#安装数据库:

#yum install mysql-community-server mysql-community-devel -y

#启动数据库服务并加入开机启动项

#systemctl start mysqld && systemctl enable mysqld

#查看数据库运行状态:

#systemctl status mysqld

#查看mysql5.7的临时密码:

#grep 'password' /var/log/mysqld.log

此步很容易出现问题,对于没有初始化生成临时密码的情况,请在/etc/my.cnf下的mysqld下添加skip-grant-tables字段,然后重启服务,进行密码的修改和设置

#使用临时密码登陆数据库:

#mysql -u root -p

Centos7-mysql报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

sql中执行:取消设置密码策略:

mysql]set global validate_password_policy=0;
mysql]set global validate_password_length=1;
mysql]SET PASSWORD = PASSWORD('yourpwd');

#修改root用户密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

mysql> flush privileges;

mysql> quit; 或者\q 退出

第三步:安装PHP已经扩展:

#添加php的软件源到系统中,此处安装php7.2
#yum localinstall https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#安装php软件已经扩展:
#yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

#安装redis以及PHP的扩展:
#yum install redis git -y

#cd /usr/local/src/

#git clone https://github.com/phpredis/phpredis.git

#cd phpredis

#phpize

#./configure

#make && make install

此处使用了克隆源码编译安装,在此过程中也是比较容易出错的,很容易报错出现php加载不了此扩展,网上很多说直接修改php的配置文件/etc/php.ini,添加内容,然而并不好使,直接编译加载即可

#启动php-fpm服务:
systemctl start php-fpm

#查看下版本:php -v

此处没有报错的话,PHP的扩展都已经加载
第四步:整合nginx,使其支持解析我们的php程序:

#编辑nginx配置文件:

#vim /etc/nginx/conf.d/default.conf

#内容如下所示:
server {
listen 80; #监听端口号
server_name localhost; #主机名或域名或ip
root /www; #网站根目录
index index.php index.html; #支持解析的文件类型
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; #代理到本机的9000端口,解析php程序
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}
第五步:测试lnmp环境是否成功:

vim /www/index.php

<?php
phpinfo();
?>
此处使用了php的一个探针函数,此时就可以访问curl -I localhost  如果返回状态码200,并有一段网页代码,就OK 了

当然直接访问Centos 7系统的ip 地址,即可看到phpinfo所展示出来的内容。

可以看到,使用yum方式搭建lnmp环境还是很简单的。
————————————————
版权声明:本文为CSDN博主「筑梦之路」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34777982/article/details/88234495

Centos 7 下yum搭建lnmp环境(yum安装方式)的更多相关文章

  1. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  2. Mac下docker搭建lnmp环境 + redis + elasticsearch

    之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...

  3. Yum搭建LNMP环境(动、静、库分离)(week4_day5)--技术流ken

    前言 本篇博客使用yum来搭建lnmp环境,将采用动态,静态以及数据库分开安装的方式即nginx,php,mysql.会被分开安装在不同的服务器之上,搭建出来一套lnmp环境,并部署wordpress ...

  4. CentOS 7 源码搭建LNMP环境

    搭建 LNMP 环境 源码包版本 :  CentOS Linux  7 nginx-1.15.1.tar.gz  mysql-boost-5.7.21.tar.gz  php-7.2.7.tar.gz ...

  5. Windows 下手工搭建 LNMP 环境

    参考资料 如果想方便,可以直接使用集成的 LNMP 环境(例如 PHPStudy). 下载 PHP 下载地址:https://windows.php.net/download 根据你的系统选择 32 ...

  6. CentOS6下yum搭建LNMP环境

    1.关闭防火墙[root@CentOS ~]# chkconfig iptables off 2.关闭selinuxvi /etc/sysconfig/selinux //将SELINUX=enfor ...

  7. yum 搭建lnmp环境详细步骤

    1.关闭防火墙[root@CentOS ~]# chkconfig iptables off 2.关闭selinuxvi /etc/sysconfig/selinux//将SELINUX=enforc ...

  8. 在CENTOS上源码搭建LNMP环境

    前言 1.操作前提: CentOS Linux release 7.5.1804: sudo用户(需要root权限): 2.需要安装的组件: nginx稳定版:nginx-1.14.0: MariaD ...

  9. Ubuntu 18.04.1 下快速搭建 LNMP环境

    1.Nginx的安装 Nginx安装是属于最简单的,只需要在命令行执行 sudo apt-get install nginx 就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当 ...

随机推荐

  1. Pwnable-blackjack

    游戏源码 http://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html 打开之后是一个游戏 你有5 ...

  2. 第九周周四计划&&周三总结

    今天由于自己的原因进度不是很大,今天整理了一下全网关联的思路流程(个人可能就是那种没自信,在思路不知道对不对的情况下不敢下手那种渣渣),和之前的一个学长讨论了一下大概思路流程,如下: (1)使用LDA ...

  3. linux操作系统 - 综合习题

    登录超级用户,完成以下操作: [linux@slave053 ~]$ su - 1.用户和组群管理(本大题共5小题,共10分) (1)创建两个用户tangseng,monkey,并指定密码为12345 ...

  4. [NewLife.XCode]分表分库(百亿级大数据存储)

    NewLife.XCode是一个有15年历史的开源数据中间件,支持netcore/net45/net40,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量 ...

  5. 下载代码的时候 SSH与http的区别

    SSH: git@gitlab.alibaba-inc.com:damai-mz/mz-market.git HTTP:http://gitlab.alibaba-inc.com/damai-mz/m ...

  6. 物联网架构成长之路(31)-EMQ基于HTTP权限验证

    看过之前的文章就知道,我之前是通过搞插件,或者通过里面的MongoDB来进行EMQ的鉴权登录和权限验证.但是前段时间发现,还是通过HTTP WebHook 方式来调用鉴权接口比较适合实际使用.还是实现 ...

  7. LeetCode 231.2的幂

    LeetCode 231.2的幂 题目: 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 算法: 若一个数是2的幂次的话定会有n & (n - 1) == 0这个关系成立 所以直接用 ...

  8. A - QQpet exploratory park HDU - 1493 DP

      A - QQpet exploratory park HDU - 1493 Today, more and more people begin to raise a QQpet. You can ...

  9. windows10 启动安卓模拟器会蓝屏的解决方案

    最近突然想用win10装个安卓模拟器玩游戏,然后提示vt被占用. 查了一下,了解到在windows 10 系统上,我们会用vmware,virtual box ,hyper-v,安卓模拟器,360安全 ...

  10. java架构之路(多线程)JMM和volatile关键字

    说到JMM大家一定很陌生,被我们所熟知的一定是jvm虚拟机,而我们今天讲的JMM和JVM虚拟机没有半毛钱关系,千万不要把JMM的任何事情联想到JVM,把JMM当做一个完全新的事物去理解和认识. 我们先 ...