企业级架构之LNMP

一、LNMP环境准备

1、操作系统

CentOS7(CentOS7.6全英文,最小化安装)

2、部署规划

编号 主机名称 IP地址(公网IP) 角色
1 web01.itcast.cn 192.168.40.35 Web01服务器

我们一般对外提供服务的服务器的IP地址,通常要采用公网IP。(需要单独申请购买)

3、LNMP环境准备

第一步:克隆母机或模板机,生成Web01服务器

第二步:更改主机名称,统计使用FQDN格式,如web01.itcast.cn

# hostnamectl set-hostname web01.itcast.cn
# su

第三步:更改服务器的IP地址(使用静态模式,绑定公网IP)

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
...
IPADDR=10.1.1.11
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
DNS1=8.8.8.8
DNS2=119.29.29.29
...

第四步:绑定主机名称以及IP地址到/etc/hosts文件中,然后重启网络

# vim /etc/hosts
10.1.1.11 web01 web01.itcast.cn# systemctl restart network

第五步:关闭防火墙、SELinux以及NetworkManager

# systemctl stop firewalld
# systemctl disable firewalld# setenforce 0
# sed -i '/SELINUX=enforcing/cSELINUX=disabled' /etc/selinux/config
等价于
# vim /etc/selinux/config
SELINUX=disabled# systemctl stop NetworkManager
# systemctl disable NetworkManager

第六步:配置YUM源(建议使用腾讯或清华)

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
# yum clean all
# yum makecache

第七步:ntpdate时间同步并开启ntpd自动同步

# ntpdate ntp.aliyun.com# yum install ntp -y
# systemctl start ntpd
# systemctl enable ntpd

4、LNMP工作原理

LNMP = Linux + Nginx(占用80) + MySQL(3306) + PHP(独立软件,占用9000)
二、LNMP环境部署

1、MySQL软件

瑞典AB公司,MySQL默认编码 =>latin1 => 甲骨文(Oracle),Oracle MySQL

MySQL安装一共有3种安装方式:

① YUM安装(单独配置YUM源) ② GLIBC二进制软件包安装 ③ 基于MySQL源码方式安装

使用YUM安装MySQL软件时,必须要单独配置YUM源;否则安装的就是MariaDB。

MySQL官网网站:http://www.mysql.com

2、MySQL软件的安装

前期规划:

安装目录 数据目录 默认端口 套接字(关键)
/usr/local/mysql /usr/local/mysql/data 3306 /tmp/mysql.sock
第一步:上传MySQL软件包(5.7.31版本)到Web01服务器端

第二步:解压MySQL软件包,然后移动到/usr/local目录下,起名为mysql

# rm -rf /usr/local/mysql
# tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql

第三步:创建一个特定的mysql账号,用于启动与运行mysql软件

# useradd -r -s /sbin/nologin mysql

第四步:进入/usr/local/mysql目录,创建mysql-files文件夹

# cd /usr/local/mysql
# mkdir mysql-files

第五步:更改mysql-files文件夹权限(拥有者与所属组以及文件夹权限750)

# chown mysql.mysql mysql-files
# chmod 750 mysql-files

第六步:删除默认配置文件my.cnf,然后初始化MySQL

# rm -rf /etc/my.cnf
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql
[Note] A temporary password is generated for root@localhost: Alr;otc8igyG
根据需要决定是否开启SSL加密传输
# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

第七步:添加环境变量,启动MySQL,进入mysql,更改mysql的默认密码

# echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
# source /etc/profile# cp support-files/mysql.server /etc/init.d/mysqld
# service mysqld start# mysql -p
Enter password:Alr;otc8igyGmysql> set password='123';
mysql> flush privileges;

第八步:进行数据库的安全初始化

# mysql_secure_installation

第九步:配置mysqld服务随开机自动启动

# chkconfig --list
# chkconfig --add mysqld
# chkconfig mysqld on

第一步:联网,安装Nginx软件所需的依赖库

# yum install pcre-devel zlib-devel openssl-devel -y

第二步:对Nginx软件包进行解压缩操作

# tar -xf nginx-1.16.0.tar.gz

第三步:创建一个www账号

# useradd -r -s /sbin/nologin www

第四步:使用./configure对Nginx软件进行配置(对软件安装包进行配置)

# cd nginx-1.16.0
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

#####第五步: 编译与安装Nginx软件

# make && make install

PHP软件编译安装

PHP5.4、PHP5.6、PHP7版本(性能爆表)

第一步:安装依赖库

# yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel openssl-devel

第二步:解压PHP软件包

# tar -xf php-7.2.12.tar.gz
# cd php-7.2.12

第三步:源码安装三步走(① 配置 ② 编译 ③ 安装)

# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts# make && make install

让Nginx可以转发PHP代码到PHP-FPM
第一步:进入/usr/local/nginx目录,然后把conf/nginx.conf文件进行备份

# cd /usr/local/nginx
# cp conf/nginx.conf conf/nginx.conf.bak

第二步:使用grep过滤conf/nginx.conf文件,只显示非注释内容

# grep -Ev '#|^$' conf/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  localhost;location / {root   html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

第三步:去除http模块中的root选项(项目目录),只在server模块中保留一个即可

# vim conf/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  localhost;root html;                    =>          整个server只保留一个root选项location / {index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {}}
}

第四步:添加PHP支持,让Nginx可以识别.php文件,然后转发给9000端口

# vim conf/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  localhost;root html;                    =>          整个server只保留一个root选项location / {index  index.html index.htm;}------------------ 华丽的分割线 --------------------location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}------------------ 华丽的分割线 --------------------error_page   500 502 503 504  /50x.html;location = /50x.html {}}
}

设置完成后,重启Nginx软件(重载reload)

# systemctl reload nginx

第五步:编写php测试文件,查看是否可以运行

# vim /usr/local/nginx/html/demo.php
<?phpphpinfo();
?>

LINUX 系统LNMP环境搭建相关推荐

  1. Linux(ubuntu) LNMP环境搭建

    Linux(ubuntu) LNMP环境搭建 1. 配置源地址 Ubuntu默认使用的官方源的服务器在欧洲,从国内访问速度很慢 先修改软件源为国内的, 例如: 阿里云源, 清华源等等 整体步骤: 查询 ...

  2. golang语言的入门基础,及window和linux系统上环境的搭配及运行

    golang语言的入门基础,及window和linux系统上环境的搭配及运行 简介: Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.Go语言专门针对多处理器 ...

  3. Linux运维之(九)LNMP环境搭建

    LNMP环境搭建 安装步骤 [root@localhost gohb]# yum -y install php php-fpm php-gd php-mbstring php-xml php-imap ...

  4. 拔牙伤己600——LNMP环境搭建(Kali、宝塔)

    Web安全1.2:LAMP.LNMP环境搭建(Kali.宝塔.phpstudy)+wordpress站点搭建 声明:本次实验环境为Kali2020+VMware16Pro,使用的浏览器为火狐浏览器.建 ...

  5. 17. LAMP环境搭建和LNMP环境搭建

    目录 17.1 Linux LAMP环境搭建的前期准备 获取源码包 把软件包传送到Linux服务器上 安装编译工具 关闭RPM包安装的apache和mysql 关闭防火墙和SELinux 关闭不必要的 ...

  6. 微信点餐系统01——环境搭建

    微信点餐系统01--环境搭建 一.创建数据库表 ​ 微信点餐系统一共需要5个表. 商品表:商品编号.商品名称.商品价格.商品库存.商品描述.商品图片.商品情况(上架还是下架).它属于哪个类目(热销?男 ...

  7. LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)

    测试环境:CentOS release 6.5 (Final) 软件安装:nginx   mysql-5.5.32-linux2.6-x86_64.tar.gz   php-5.3.27.tar.gz ...

  8. 第1章 Linux系统介绍与环境搭建准备

    第1章 Linux系统介绍与环境搭建准备 本章以操作系统的介绍作开篇,首先介绍操作系统的基础概念以及操作系统的原理:然后带领读者了解Unix/Linux的诞生和发展史,以及市面上常见的Unix/Lin ...

  9. 1.2 lamp/lnmp 环境搭建

    我认为,无论是学习安全还是从事安全的人,多多少少都会有些许的情怀和使命感!!! 1.2 lamp/lnmp 环境搭建 在不同的操作系统下,漏洞的测试结果也可能会不一样. 简单举例:像文件包含截断,在W ...

最新文章

  1. AI帮你靠“想象”打字:手机电脑软键盘也能盲打了,准确率能达到95%
  2. mysql查看和启用二进制日志
  3. boost::reinterpret_pointer_cast相关的测试程序
  4. 端午小长假--前端基础学起来02与浏览器交互,表单标签
  5. 重磅公开!阿里语音识别模型端核心技术,让你“听”见未来
  6. 最帅的我救了两条很丑的狗
  7. 微软.NET程序员必上的网站
  8. 用代码实现task列表里面的Assigned To选择多个人
  9. matlab画受力分析图,MATLAB求解受力分析
  10. NanoMsg框架|C#中Nanomsg的PAIR和BUS使用
  11. 经历过CMMI后的体会和总结,为什么别人的时间总是比你的值钱
  12. 无需SVIP,两步实现百度网盘不限速
  13. 笔记本未指定打印机服务器,打印机出现在未指定里怎么办?可以这样解决
  14. Html5大文件断点续传实现方法
  15. 一年经验工作了三年,拥有三年工作经验,你是哪一种?
  16. 牛客小白月赛21 J.Jelly
  17. 宽度优先搜索python_宽的解释|宽的意思|汉典“宽”字的基本解释
  18. 智慧消防管网水压监测系统解决方案
  19. Thymeleaf模板使用实例+模板分页
  20. (发外链技巧)哪里可以发外链

热门文章

  1. 计算机网络nsi,运行 NSI 服务 Svchost.exe 泄漏内存和非页面缓冲池内存泄漏标记 NSpc...
  2. 10月VR大数据:整体变化不大,Quest生态近1900款应用
  3. Displacement Activity
  4. 数据结构:链表(Linklist)的定义和它的函数们
  5. 通达信交易接口:让交易更高效
  6. python初学者编程指南源码_如何系统地自学 Python?
  7. 编程时关于左右脑运用的感想
  8. 【Redis】过期淘汰策略以及内存淘汰机制
  9. 完善自己的交易心理(转载)
  10. Windows逆向安全(一)之基础知识(九)