美文网首页
day46课堂笔记(LNMP搭建)

day46课堂笔记(LNMP搭建)

作者: 五月_w | 来源:发表于2019-05-07 13:59 被阅读0次

第一章、LNMP Web服务搭建

1.1、JAVA Web环境(企业更多)

1) [tomcat(jvm)]、resin、jboss、Weblogic
配合nginx proxy_pass代理功能
2)Python Web环境
配合nginx uwsgi_pass代理功能
3)PHP Web环境
配合nginx fastcgi_pass代理功能
4)Go 语言环境

第二章、企业级LNMP环境应用实践

2.1、LNMP介绍

LNMP(即Linux、Nginx、Mysql、PHP),已经逐渐成为国内大中型互联网公司网站的主流组合环境

2.2、LNMP基本访问流程

image.png
image.png

第三章、LNMP中Mysql数据库

3.1、Mysql数据库介绍

image.png

3.2、Mysql数据库产品

 Mysql(mariadb)、 Oracle、SQL、SERVER、PGSQL

3.3、为什么选择Mysql数据库?

 1)性能卓越,服务稳定,很少出现异常宕机
 2)开放源代码且无版权之约,自主性强,使用成本低
 3)历史悠久,社区及用户非常活,遇到问题可以很快获取到帮助
 4)软件体积小、安装使用简单,并且易于维护、安装及维护成本低
 5)支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的PHP语言无缝支持
 6)品牌口碑效应,使得企业直接使用

3.4、安装Mysql数据库

3.41、安装方式

image.png

3.42、第一步、创建用户

useradd mysql -s /sbin/nologin -M
id mysql
image.png

3.43、第二步、切换到指定目录

cd /server/tools/
image.png

3.44、第三步、上传压缩包,解压

rz
ls -sh mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql-5.7.26
ln -s /application/mysql-5.7.26/ /application/mysql 
ls /application/mysql

3.45、第四步、配置配置文件/etc/my.cnf

rpm -e --nodeps mariadb-libs(卸载忽略依赖)
vim /etc/my.cnf
[mysqld]
basedir = /application/mysql/
datadir = /application/mysql/data
socket = /tmp/mysql.sock
server_id = 1
port = 3306
log_error = /application/mysql/data/oldboy_mysql.err
[mysql]
socket = /tmp/mysql.sock
prompt = oldboy [\\d]>
image.png
image.png
image.png

3.46、第五步、初始化数据库

rpm -qa mariadb-libs
yum install libaio-devel -y
mkdir -p /application/mysql/data
chown -R mysql.mysql /application/mysql/
/application/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data
image.png
image.png

3.47、配置启动服务

vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server by oldboy
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
netstat -lntup |grep mysql
ps -ef |grep mysql|grep -v grep
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
tail -1 /etc/profile
. /etc/profile
echo $PATH
mysql
image.png
image.png
image.png

3.48、修改密码

   mysqladmin -u root password 'oldboy123'
交互式登录
   mysql -uroot -p
非交互式登录
  mysql -uroot -poldboy123
image.png
image.png

第四章、FastCGI

4.1、什么是CGI?

CGI的全称"通用网关接口",为HTTP服务器与其他机器上的程序服务通信交流的一种工具,CGI程序运行在网络服务器上。
传统CGI方式在处理高并发访问时几乎是不可用的并且CGI接口方式安全性很差,因此诞生了FastCGI。

4.2、什么是FastCGI

FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口(在Linux下,FastCGI接口即为socker,这个socker可以是文件socker,也可以是IP socker)
主要优点是:把动态语言和HTTP服务器分离开,多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx、Lighttpd等。

4.3、FastCGI特点

 1)HTTP服务器和动态脚本语言间通信的接口
 2)可把动态语言解析和HTTP服务器分离开来
 3)Apache、Nginx、Lighttpd以及多数动态语言都支持FastCGI
 4)  FastCGI接口方式采用C/S结构,分为客户端(HTTP服务器)和服务端(动态语言解析服务器)
 5)PHP动态语言服务端可以启动多个FastCGI的守护进程(例如:php-fpm(fcgiprocess mangement))
6)   http服务器通过(例如:Nginx fastcgi_pass)FastCGI客户端和动态语言FastCGI服务端通信(例如pho-fpm)

4.4、FastCGI运行原理

image.png

4.5、安装PHP

1、安装PHP调用的库
useradd -u 1111 nginx
netstat -lntup |grep nginx
netstat -lntup |grep mysql
yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel -y
yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y
rpm -qa install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
rpm -qa freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
cd /server/tools/
rz
tar xf libiconv-1.16.tar.gz 
cd libiconv-1.16/
./configure --prefix=/application/libiconv
make
make install
cd ../
yum install libmcrypt-devel -y 
yum install mhash -y
yum install mcrypt -y

2、安装PHP
cd /srver/tools
rz
tar xf php-7.3.5.tar.gz
cd php-7.3.5/
./configure --prefix=/application/php-7.3.5 --enable-mysqlnd  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/application/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-opcache=no
echo $?
make && make install
ln -s /application/php-7.3.5/ /application/php
ls /application/php

3、配置pho.ini(PHP解析器配置文件)
cd /server/tools/php-7.3.5/
ls php.ini-*
cp php.ini-development /application/php/lib/php.ini
ls -l /application/php/lib/php.ini

4、配置PHP FPM
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
ls
cp www.conf.default www.conf

5、启动PHP服务
/application/php/sbin/php-fpm 
netstat -lntup |grep php-fpm

6、开机自启动
vim /etc/rc.local
/application/nginx/sbin/nginx
/application/php/sbin/php-fpm


7、配置nginx转发PHP请求
vim 03_blog.conf 
location ~ .*\.(php|php5)?$ {
        root html/blog;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
nginx -t
nginx -s reload

8、测试NGINX连接PHP
   编写测试文件
echo "<?php phpinfo(); ?>" > ../html/blog/test_info.php
cat ../html/blog/test_info.php
/application/php/bin/php /application/nginx/html/blog/test_info.php

9、测试PHP连接mysql
vim /application/nginx/html/blog/test_mysql.php 
<?php
//$link_id=mysqli_connect('主机名','用户','密码');
           $link_id=mysqli_connect('localhost','root','oldboy123') or mysql_error();
           if($link_id){
                      echo "mysql successful by oldboy.\n";
           }else{
                      echo mysql_error();
           }
?>
/application/php/bin/php /application/nginx/html/blog/test_mysql.php

LNMP环境搭建成功。


image.png
image.png image.png
image.png

相关文章

  • day46课堂笔记(LNMP搭建)

    第一章、LNMP Web服务搭建 1.1、JAVA Web环境(企业更多) 第二章、企业级LNMP环境应用实践 ...

  • 搭建 LNMP + CodeIgniter 开发环境

    搭建 LNMP + CodeIgniter 开发环境搭建 LNMP 环境首先搭建 LNMP 的服务器环境安装 Ng...

  • day46 LNMP Web服务搭建

    1、JAVA、Web环境[tomcat(jvm)]、resin、jboss、Weblogic配合nginx pro...

  • Ubuntu日记——安装和配置Lavarel项目

    首先要搭建好lnmp环境、不会安装请看Ubuntu日记——在搭建laravel lnmp环境 首先安装好Compo...

  • WordPress搭建(LNMP)

    (搭建环境:CentOS 6 + LNMP) 一、LNMP环境搭建 1、清空防火墙规则 ,暂时关闭防火墙 sete...

  • Centos 7 LNMP环境配置

    手动搭建 LNMP环境 LNMP 环境是指在 Linux 系统下,由 Nginx + MySQL/MariaDB ...

  • Centos7 LN(A)MP环境搭建

    LAMP/LNMP环境搭建 LAMP分别代表Linux、Apache、MySQL、PHP。LNMP分别代表Linu...

  • CentOS 7 搭建lnmp

    引言:之前使用的是lnmp.org的一键搭建环境,现在自己手动搭建一个Lnmp环境来。搭建过程中遇到不少问题,在网...

  • docker 下lnmp

    个人分类:php数据库nginx LNMP环境我不多说,网上有很多的搭建LNMP的博客,博主这次搭建时,查看了不下...

  • 网站部署入门(3)

    3.LNMP环境搭建 #3.1.什么是lnmp环境 lnmp是一个php的运行环境,l表示Linux,n表示Ngi...

网友评论

      本文标题:day46课堂笔记(LNMP搭建)

      本文链接:https://www.haomeiwen.com/subject/ghploqtx.html