lnmp 架构

电玩女神 2022-05-09 06:26 309阅读 0赞

一、lnmp 架构

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。 PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

工作原理

70

  • 客户端的所有的页面请求先到达lnmp结构中的nginx
  • nginx根据自己的判断哪些是静态页面,哪些是动态页面
  • 如果是静态页面直接由nginx自己处理就可以返回结果给客户端了
  • 如果*.php动态页面nginx需要调用php中间件服务器来处理
  • 在处理PHP页面的过程中可能需要调用mysql数据库中的数据完成页面编译
  • 编译完成后的页面返回给nginx,nginx再返回给客户端

二、lnmp架构的搭建

1.mysql 源码安装

yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y .安装源码编译工具cmake(支持编译C++语言)用yum安装可以解决软件依赖性

yum install gcc gcc-c++ ncurses-devel -y

yum install bison -y

解压源码包

tar zxf mysql-boot-5.7.17.tar.gz

cd mysql-5.7.17/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql

-DMYSQL_DATADIR=/usr/local/lnmp/mysql/data

-DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DDEFAULT_CHARSET=utf8

-DEXTRA_CHARSETS=all

-DWITH_BOOST=boost/boost_1_59_0

如果没有报错,直接执行make & make install

配置 mysql

cd /usr/local/lnmp/mysql/support-files/

cp my-default.cnf /etc/my.cnf

vim /etc/my.cnf ##编辑mysql配置文件

basedir = /usr/local/lnmp/mysql ##安装目录

datadir = /usr/local/lnmp/mysql/data ##mysql数据存放目录

port = 3306 ##端口

socket = /usr/local/lnmp/mysql/data/mysql.sock

70 1

  1. cp mysql.server /etc/init.d/mysqld
  2. ####将编译完成的mysql启动脚本复制到系统启动服务的默认目录中

groupadd -g 27 mysql 创建mysql 组

useradd -u 27 -g 27 -M -d /usr/local/lnmp/mysql/data -s /sbin/nologin mysql 指定目录,建立mysql 用户

cd /usr/local/lnmp/mysql/

chown mysql.mysql . -R

70 2

cd

将编译生成的mysql二进制命令放进系统的环境变量文件中,保证可以直接调用该二进制命令

vim .bash_profile

70 3

  1. source .bash_profile ###加载文件
  2. cd /usr/local/lnmp/mysql/
  3. mysql --initialize --user=mysql ###初始化
  4. 执行完这条命林后,会弹出很多行数据,复制最后一条冒号后生成的密码

此时,mysqld服务已经可以开启关闭了

cd /usr/local/lnmp/mysql/

chown root.root . -R

chown mysql data/ -R ###将此目录的所有文件用户和家目录都改成超户 ,除了data改成mysql因为mysql服务将要往这个目录中写数据,保证其有执行权限

打开mysqld

/etc/init.d/mysqld start

mysql_secure_installation

(1)在第一次交互请求后面输入刚刚初始化时复制的密码

(2)然后输入两次新密码

(3)接下来的交互式请求可以直接回车,这条交互式请求是询问你是否要检查密码强度, 如果输入y,就要重新修改密码,密码长度必须超过8位,必须有大小写字母, 所以我们直接回车

(4)接下来会询问是否要修改root密码,直接回车,因为上面已经设置过了

(5)接下来全部输入y回车就行 现在就可以直接进入mysql了

进入数据库

  1. mysql -p
  2. 输入设置的密码进入就行

70 4

mysql完成 搭建

二、php 源码安装

tar jxf php-5.6.35.tar.bz2
cd php-5.6.35

70 5

解决依赖性

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel

yum install curl curl-devel

yum install -y re2c-0.13.5-1.el6.x86_64.rpm gd-devel-2.0.35-11.el6.x86_64.rpm

cd php-5.6.35
yum install -y gmp-devel
yum provides */mcrypt.h

yum install -y libmcrypt*

yum install -y net-snmp-devel

70 5

查看是否有报错,若没有直接执行make & make install

php 安装完成

cd /usr/local/
cd lnmp/php/etc/
cp php-fpm.conf.default php-fpm.conf

创建nginx 用户

useradd nginx

编辑 php-fpm.conf
70 6

70 7

cd php-5.6.35
cp php.ini-production /usr/local/lnmp/php/etc/php.in

vim php.ini 修改时区

70 8

cd /root/php-5.6.35/sapi/fpm/
cp init.d.php-fpm /etc/init.d/
cd /etc/init.d/
mv init.d.php-fpm php-fpm
chmod +x php-fpm
/etc/init.d/php-fpm start

70 9

php 搭建完成

三、nginx 源码安装

tar zxf nginx-1.14.0.tar.gz
yum install -y unzip
unzip nginx-goodies-nginx-sticky-module-ng-08a395c66e42.zip
cd nginx-1.14.0

vim src/core/nginx.h

去掉版本号

vim auto/cc/gcc

70 10

yum install -y pcre-devel

编译

./configure —prefix=/usr/local/lnmp/nginx —with-http_ssl_module —with-http_stub_status_module —with-threads —with-file-aio —add-module=/root/nginx-goodies-nginx-sticky-module-ng-08a395c66e42

查看是否有报错,若没有直接执行make & make install

配置nginx服务

cd /usr/local/lnmp/
cd nginx/conf/
vim nginx.conf

70 11

70 12

70 13

vim /etc/security/limits.conf

70 14

cd ~

ln -s /usr/local/lnmp/nginx/sbin/nginx /sbin/
cd /usr/local/lnmp/nginx/html/
vim index.php

70 15

nginx
cd

在网页查看浏览页是否设置成功

70 16

/etc/init.d/mysqld start
/etc/init.d/mysqld status
cd /usr/local/lnmp/php/etc/
vim php.ini

70 17

70 18

70 19

/etc/init.d/php-fpm reload
cd
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/
cd /usr/local/lnmp/nginx/html/
cd upload/
mv index.php ..
mv * ..
chmod 777 config/ data uc_client/ uc_server/ -R
chmod 755 /usr/local/lnmp/mysql/data/
搭建论坛

70 20

70 21

70 22

70 23

70 24

/usr/local/lnmp/nginx/html/
cd upload/

cd install/

rm -f index.php

70 25

论坛搭建成功

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 10.Nginx流行架构LNMP

    1.什么是LNMP架构 LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指Mari

    相关 lnmp 架构

    一、lnmp 架构 LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMA