名词解释:

LNMP:Linux+Nginx+MySql+PHP
LAMP:LInux+Apache+MySql+PHP
Nginx的正确读法应该是Engine X
我们使用CentOS自带的YUM来安装


镜像源切换


先把YUM源切换成国内的镜像源
先备份一下原来的源镜像文件

# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo

#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

如果没有安装wget的话可以使用#yum install wget安装完成之后,在执行CentOS-Base.repo的安装
/etc/yum.repos.d/CentOS-Media.repo源文件配置文件,改为不生效

enable=

YUM缓存生成

#yum clean all
#yum makecache
#yum update

安装Nginx


YUM源中没有Nginx,我们需要增加一个nginx的源nginx.repo

# vi /etc/yum.repos.d/nginx.repo

源文件的内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=
enabled=

查看Nginx是否配置成功

#yum list nginx
已加载插件:fastestmirror
nginx | 2.9 kB ::
nginx//x86_64/primary_db | kB ::
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
可安装的软件包
nginx.x86_64 :1.10.-.el7.ngx nginx
#yum list |grep nginx
nginx.x86_64                               :1.10.-.el7.ngx          nginx
nginx-debug.x86_64 :1.8.-.el7.ngx nginx
nginx-debuginfo.x86_64 :1.10.-.el7.ngx nginx
nginx-module-geoip.x86_64 :1.10.-.el7.ngx nginx
nginx-module-geoip-debuginfo.x86_64 :1.10.-.el7.ngx nginx
nginx-module-image-filter.x86_64 :1.10.-.el7.ngx nginx
nginx-module-image-filter-debuginfo.x86_64 :1.10.-.el7.ngx nginx
nginx-module-njs.x86_64 :1.10.2.0.0.20160414.1c50334fbea6-.el7.ngx
nginx
nginx-module-njs-debuginfo.x86_64 :1.10.2.0.0.20160414.1c50334fbea6-.el7.ngx
nginx
nginx-module-perl.x86_64 :1.10.-.el7.ngx nginx
nginx-module-perl-debuginfo.x86_64 :1.10.-.el7.ngx nginx
nginx-module-xslt.x86_64 :1.10.-.el7.ngx nginx
nginx-module-xslt-debuginfo.x86_64 :1.10.-.el7.ngx nginx
nginx-nr-agent.noarch 2.0.-.el7.ngx nginx
pcp-pmda-nginx.x86_64 3.10.-.el7 base

安装成功后,就可以直接安装nginx了

#yum -y install nginx

安装的就是Nginx官网的最新版本

#nginx #启动Nginx

可以使用curl命令查看是否安装成功

#curl 127.0.0.1

如果安装成功的话,就会看到输出一个HTML的一个反馈

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p> <p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p>
</body>
</html>

开机启动设置

#systemctl enable nginx
#systemctl daemon-reload

安装MySql(5.7)


官网:http://dev.mysql.com/downloads/repo/yum/

#rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

查看5.7版本是否已经启用

#yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community         启用:
mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用
mysql-tools-community/x86_64 MySQL Tools Community 启用:
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql-tools-preview/x86_64 MySQL Tools Preview 禁用
mysql-tools-preview-source MySQL Tools Preview - Source 禁用
mysql55-community/x86_64 MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用
mysql56-community/x86_64 MySQL 5.6 Community Server 禁用
mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用
mysql57-community/x86_64 MySQL 5.7 Community Server 启用:
mysql57-community-source MySQL 5.7 Community Server - Sourc 禁用
mysql80-community/x86_64 MySQL 8.0 Community Server 禁用
mysql80-community-source MySQL 8.0 Community Server - Sourc 禁用

如果没有启用的话,我们可以修改源文件

#/etc/yum.repos.d/mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

enabled改为1就可以了,其他的版本改为0

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

修改完成之后查看可用的版本

#yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community
mysql-tools-community/x86_64 MySQL Tools Community
mysql57-community/x86_64 MySQL 5.7 Community Server

如果看到5.7版本启用了之后就可以安装MySql了

#yum -y install mysql-community-server

安装完成之后,就可以启动mysql了

#service mysqld start

查看MySql的启动状态

#service mysqld status
Redirecting to /bin/systemctl status  mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 日 -- :: CST; 3min 14s ago
Process: ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=/SUCCESS)
Process: ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=/SUCCESS)
Main PID: (mysqld)
CGroup: /system.slice/mysqld.service
└─ /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 5月 :: 192.168.0.14 systemd[]: Starting MySQL Server...
5月 :: 192.168.0.14 systemd[]: Started MySQL Server.
5月 :: 192.168.0.14 systemd[]: Started MySQL Server.

开机启动设置

#systemctl enable mysqld
#systemctl daemon-reload

MySql安装完成之后会在LOG文件(/var/log/mysqld.log)中生成一个root的默认密码

#grep 'temporary password' /var/log/mysqld.log
--23T14::.705458Z  [Note] A temporary password is generated for root@localhost: d&sqr7dcf7P_

登录MySql并修改root密码

#mysql -uroot -p
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new psd';

扩展阅读:mysql的密码策略

mysql>show variables like '%password%';
+---------------------------------------+--------+
| Variable_name | Value |
+---------------------------------------+--------+
| default_password_lifetime | 0 |
| disconnect_on_expired_password | ON |
| log_builtin_as_identified_by_password | OFF |
| mysql_native_password_proxy_users | OFF |
| old_passwords | 0 |
| report_password | |
| sha256_password_proxy_users | OFF |
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+---------------------------------------+--------+
14 rows in set (0.01 sec)

默认的密码策略

validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个

修改密码策略
/etc/my.cnf文件添加validate_password_policy配置:

# 选择0(LOW),(MEDIUM),(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=

修改默认编码
/etc/my.cnf配置文件的[mysqld]下添加编码配置:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重启mysql,是修改生效

#systemctl restart mysqld

远程登录用户添加

mysql> GRANT ALL PRIVILEGES ON . TO 'lmc'@'%' IDENTIFIED BY '1qazXsw@' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

查看用户

mysql> select host,user from mysql.user;
+-----------+-----------+
| host | user |
+-----------+-----------+
| % | lmc |
| localhost | mysql.sys |
| localhost | root |
+-----------+-----------+
3 rows in set (0.00 sec)

由于开始没有关闭SELinux,引起mysql连接失败的解决:
http://www.jianshu.com/p/ddd3ce15cb84


安装PHP7

#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP7

#yum install 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-mysql.x86_64 php70w-pdo.x86_64

安装php-fpm

#yum install php70w-fpm php70w-opcache

启动php-fpm

#systemctl start php-fpm

开机启动设置

#systemctl enable php-fpm
#systemctl daemon-reload

修改根目录
修改 /etc/nginx/conf.d/default.conf

location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

重启Nginx使修改生效

作者:890624
博客转自:https://www.jianshu.com/p/02baa54283ba
來源:简书

CentOS7快速搭建LNMP环境的更多相关文章

  1. 阿里云体验实验室 教你如何《快速搭建LNMP环境》

    ## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...

  2. 烂泥:学习ubuntu之快速搭建LNMP环境

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作 ...

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

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

  4. 小白简单快速搭建lnmp环境(centos7)

    本来想着自己搭建lnmp,由于php包下载不下来因此这次本人使用的lnmp一键包搭建的环境(很遗憾还没有php7.3.5)很详细并且方便快捷网址https://lnmp.org/install.htm ...

  5. 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 ...

  6. Docker快速搭建LNMP环境

    一.使用Dockerfile制作镜像 前面的博客中已经介绍了如何基于容器制作镜像,此方法的原理是使用一个正在运行的容器,根据生产所需进行配置更改等操作后,使其满足生产环境,再将这个容器打包制作为镜像, ...

  7. 烂泥:学习centos之快速搭建LNMP环境

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 以前在centos下安装软件都是喜欢源码安装,不过昨天因为一个事情需要一个centos 下的LNMP环境.反倒不会搞了,今天特意记录下,以备后续使用. 一 ...

  8. centos7 简单搭建lnmp环境

    1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [r ...

  9. vagrant快速搭建LNMP环境并且打包带走留着以后用

    不多说废话,全文文字,照着输就没问题 vagrant下载 可以到VirtualBox的官网进行下载:  https://www.virtualbox.org/wiki/Downloads vagran ...

随机推荐

  1. Android进阶(十七)AndroidAPP开发问题汇总(一)

    首先来看一下猎头公司对于Android方向人才招聘的需求: 猎头公司推荐------资深Java软件工程师(Android方向) 岗位职责: 1.熟悉Java语言,熟悉B/S开发的基本结构 2.能运用 ...

  2. Leetcode_234_Palindrome Linked List

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/47334465 Given a singly linked ...

  3. linu下C语言之BMP图片操作编程(上)

    BMP文件格式,也被称为位图图像文件或与设备无关的位图文件格式(DIB)或者只是一个位图,是 一个光栅图形 图像文件格式使用 来存储位图,数字,图片,独立的显示设备. 微软已经定义了一个特定的表示颜色 ...

  4. Mac Finder 里新建文本

    Mac Finder 里新建文本 首先吐槽下 Mac 的文件管理 Finder 真的是太弱了,之前没感觉 Windows 的资源管理器多厉害,但是和 Mac 的比起来真是堪称神器啊,果然牛逼与否还的看 ...

  5. Eclipse配置SpringBoot

    从这一博客开始学习SpringBoot,今天学习Eclipse配置SpringBoot.Eclipse导入SpringBoot有两种方式,一种是在线一个是离线方式. 一.在线安装 点击Eclipse中 ...

  6. JavaScript对象添加、删除、修改对象的属性

    https://www.cnblogs.com/goweb/p/5357640.html 利用动态特性 function Person(){}; var person = new Person(); ...

  7. mongodb查询语句

    左边是mongodb语句,右边是sql语句 db.users.find() select * from users db.users.find({"age" : 27}) sele ...

  8. python---生成器、迭代器

    # -*- coding:utf-8 -*- # LC # 列表生成式 def func(x): print(x) return 2*x print([ func(i) for i in range( ...

  9. 14 Live CDs for Penetration Testing (Pen Test) and Forensic

    http://www.ivizsecurity.com/blog/penetration-testing/live-cd-penetration-testing-pen/ Yesterday I wa ...

  10. 模仿天猫实战【SSM】——总结

    第一篇文章链接:模仿天猫实战[SSM版]--项目起步 第二篇文章链接:模仿天猫实战[SSM版]--后台开发 总结:项目从4-27号开始写,到今天5-7号才算真正的完工,有许多粗糙的地方,但总算完成了, ...