lnmp架构实现动态php(lnmp架构能实现什么功能)

  • 1、处理PHP动态页面,Apache还是Nginx好?
  • 2、CentOS 7 用户怎样安装 LNMP
  • 3、lnmp 怎么安装 php
  • 4、如何在lnmp上部署Thinkphp
  • 5、linux下WebServer 怎么实现PHP动态网页响应!

mapn 这个不错,前端是nginx处理静态文件,后端是apache处理php动态程度。如果不是因为我部署环境太废劲,我会全换成这个的。

LNMP动态网站部署架构是一套由Linux + Nginx + MySQL + PHP组成的动态网站系统解决方案。LNMP中的字母L是Linux系统的意思,不仅可以是RHEL、CentOS、Fedora,还可以是Debian、Ubuntu等系统。在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,他需要具备C语言、C++语言、Perl语言的编译器,以及各种常见的编译支持函数库程序。因此请先配置妥当Yum软件仓库,然后把下面列出的这些软件包都统统安装上:

[root@linuxprobe ~]# yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

Loaded plugins: langpacks, product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

………………省略部分安装过程………………

Installing:

apr x86_64 1.4.8-3.el7 rhel7 103 k

apr-devel x86_64 1.4.8-3.el7 rhel7 188 k

apr-util x86_64 1.5.2-6.el7 rhel7 92 k

apr-util-devel x86_64 1.5.2-6.el7 rhel7 76 k

autoconf noarch 2.69-11.el7 rhel7 701 k

automake noarch 1.13.4-3.el7 rhel7 679 k

bison x86_64 2.7-4.el7 rhel7 578 k

bzip2-devel x86_64 1.0.6-12.el7 rhel7 218 k

compat-dapl x86_64 1:1.2.19-3.el7 rhel7 109 k

compat-db-headers noarch 4.7.25-27.el7 rhel7 48 k

compat-db47 x86_64 4.7.25-27.el7 rhel7 795 k

compat-gcc-44 x86_64 4.4.7-8.el7 rhel7 10 M

compat-gcc-44-c++ x86_64 4.4.7-8.el7 rhel7 6.3 M

compat-glibc x86_64 1:2.12-4.el7 rhel7 1.2 M

compat-glibc-headers x86_64 1:2.12-4.el7 rhel7 452 k

compat-libcap1 x86_64 1.10-7.el7 rhel7 19 k

compat-libf2c-34 x86_64 3.4.6-32.el7 rhel7 155 k

compat-libgfortran-41 x86_64 4.1.2-44.el7 rhel7 142 k

compat-libtiff3 x86_64 3.9.4-11.el7 rhel7 135 k

compat-openldap x86_64 1:2.3.43-5.el7 rhel7 174 k

cpp x86_64 4.8.2-16.el7 rhel7 5.9 M

fontconfig-devel x86_64 2.10.95-7.el7 rhel7 128 k

freetype-devel x86_64 2.4.11-9.el7 rhel7 355 k

gcc x86_64 4.8.2-16.el7 rhel7 16 M

gcc-c++ x86_64 4.8.2-16.el7 rhel7 7.1 M

………………省略部分安装过程………………

Complete!

[root@linuxprobe ~]# cd /usr/local/src

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src] # wget

[root@linuxprobe src]# ls

zlib-1.2.8.tar.gz libmcrypt-2.5.8.tar.gz pcre-8.35.tar.gz

cmake-2.8.11.2.tar.gz libpng-1.6.12.tar.gz php-5.5.14.tar.gz

Discuz_X3.2_SC_GBK.zip libvpx-v1.3.0.tar.bz2 t1lib-5.1.2.tar.gz

freetype-2.5.3.tar.gz mysql-5.6.19.tar.gz tiff-4.0.3.tar.gz

jpegsrc.v9a.tar.gz nginx-1.6.0.tar.gz yasm-1.2.0.tar.gz

libgd-2.1.0.tar.gz openssl-1.0.1h.tar.gz

CMake是Linux系统中一款常用的编译工具。要想通过源码包安装服务程序,就一定要严格遵守上面总结的安装步骤—下载及解压源码包文件、编译源码包代码、生成二进制安装程序、运行二进制的服务程序安装包。接下来在解压、编译各个软件包源码程序时,都会生成大量的输出信息,下文中将其省略,请读者以实际操作为准。

[root@linuxprobe src]# tar xzvf cmake-2.8.11.2.tar.gz

[root@linuxprobe src]# cd cmake-2.8.11.2/

[root@linuxprobe cmake-2.8.11.2]# ./configure

[root@linuxprobe cmake-2.8.11.2]# make

[root@linuxprobe cmake-2.8.11.2]# make install

20.2.1 配置Mysql服务

[root@linuxprobe cmake-2.8.11.2]# cd ..

[root@linuxprobe src]# useradd mysql -s /sbin/nologin

创建一个用于保存MySQL数据库程序和数据库文件的目录,并把该目录的所有者和所属组身份修改为mysql。其中,/usr/local/mysql是用于保存MySQL数据库服务程序的目录,/usr/local/mysql/var则是用于保存真实数据库文件的目录。

[root@linuxprobe src]# mkdir -p /usr/local/mysql/var

[root@linuxprobe src]# chown -Rf mysql:mysql /usr/local/mysql

接下来解压、编译、安装MySQL数据库服务程序。在编译数据库时使用的是cmake命令,其中,-DCMAKE_INSTALL_PREFIX参数用于定义数据库服务程序的保存目录,-DMYSQL_DATADIR参数用于定义真实数据库文件的目录,-DSYSCONFDIR则是定义MySQL数据库配置文件的保存目录。由于MySQL数据库服务程序比较大,因此编译的过程比较漫长,在此期间可以稍微休息一下。

[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz

[root@linuxprobe src]# cd mysql-5.6.19/

[root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc

[root@linuxprobe mysql-5.6.19]# make

[root@linuxprobe mysql-5.6.19]# make install

[root@linuxprobe mysql-5.6.19]# rm -rf /etc/my.cnf

[root@linuxprobe mysql-5.6.19]# cd /usr/local/mysql

[root@linuxprobe mysql]# ./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/var

把系统新生成的MySQL数据库配置文件链接到/etc目录中,然后把程序目录中的开机程序文件复制到/etc/rc.d/init.d目录中,以便通过service命令来管理MySQL数据库服务程序。记得把数据库脚本文件的权限修改成755以便于让用户有执行该脚本的权限:

[root@linuxprobe mysql]# ln -s my.cnf /etc/my.cnf

[root@linuxprobe mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@linuxprobe mysql]# chmod 755 /etc/rc.d/init.d/mysqld

编辑刚复制的MySQL数据库脚本文件,把第46、47行的basedir与datadir参数分别修改为MySQL数据库程序的保存目录和真实数据库的文件内容。

[root@linuxprobe mysql]# vim /etc/rc.d/init.d/mysqld

………………省略部分输出信息………………

39 #

40 # If you want to affect other MySQL variables, you should make your changes

41 # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.

42

43 # If you change base dir, you must also change datadir. These may get

44 # overwritten by settings in the MySQL configuration files.

45

46 basedir=/usr/local/mysql 47 datadir=/usr/local/mysql/var

48

………………省略部分输出信息………………

[root@Linuxprobe mysql]# service mysqld start

Starting MySQL. SUCCESS!

[root@linuxprobe mysql]# chkconfig mysqld on

[root@linuxprobe mysql]# vim /etc/profile

………………省略部分输出信息………………

64

65 for i in /etc/profile.d/*.sh ; do

66 if [ -r “$i” ]; then

67 if [ “${-#*i}” != “$-” ]; then

68 . “$i”

69 else

70 . “$i” /dev/null

71 fi

72 fi

73 done

74 export PATH=$PATH:/usr/local/mysql/bin

75 unset i

76 unset -f pathmunge

[root@linuxprobe mysql]# source /etc/profile

[root@linuxprobe mysql]# mkdir /var/lib/mysql

受限制,没办法全部搬运,可百度 免费电子书 linux就该这么学,第20章,复制文章中的命令来安装

首先需要安装几个依赖包两个包安装完成后要把动态链接库做一个软连接到/usr/lib,以为接下来的mcrypt依赖于这两个包安装php下载php安装依赖编译,就这么简单我是有空就在后盾人看视频加上自己的理解的,也不知道对不对,希望能帮到你

有两种方法 一种是在服务器上用composer安装 还有就是去官网把源码下下来 ftp上传服务器就行了

你直接去自己读 http 服务器的接口相关代码吧。

推荐个小型的 http 服务器程序

不过现在 cgi 方式是通用的,apache 的 so 方式调用貌似需要 php 这边代码的支持,也就是 apache 有 so 代码接口,php 根据这个接口做的扩展式模块。

这种方式也就两种办法,要么你的 httpd 服务器自己实现 apache 的模块接口函数,要么就去改写 php 的代码,给自己的 httpd 制作一个对应的模块功能。

当然还一个办法,那就是干脆集成 php 到你的服务器代码里。不过注意你的程序协议。php 虽然不是 gpl 的,用的是他自己的 PHP lic ,类似 BSD 但貌似不是 copyleft 。

原创文章,作者:A146B,如若转载,请注明出处:https://www.506064.com/n/126586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
A146B的头像A146B
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相关推荐

  • ArcGIS画线详细阐述

    一、基本概念 ArcGIS是一款专业的地理信息系统软件,可以用于创建、编辑、分析和可视化地理数据。画线是ArcGIS中创建矢量数据的一种常见方法,可以用于绘制道路、管道、铁路等线性…

    编程 2024-11-11
  • java中console类源码(java console类)

    本文目录一览: 1、console类从控制台读取密码(java新手,高手勿喷) 2、JAVA中的console是什么 3、java Console 类 String usernam…

    编程 2024-11-10
  • javapi,java批量写入数据库

    本文目录一览: 1、java中π怎么表示, 是直接用π吗?还是有别的变量代替? 2、JAVA中的PI 3、在Java中,Pi是什么意思? 4、java运算中,如何引入π进行计算(希…

    编程 2024-10-03
  • Linux运维工程师必备的Vim操作技巧

    一、基础操作 Vim是Linux系统下最常用的文本编辑器之一,具有众多的功能和技巧,以下是Linux运维工程师必备的Vim操作技巧的基础操作。 1、打开文件:使用Vim打开文件的命…

    编程 2024-10-04
  • CSS Print Media简介

    CSS3中引入了打印样式表(Print Media),它允许您在文档打印时应用不同的样式。print样式表可用于指定页面样式,例如文本大小,选择的颜色和背景图案,以及其他打印特定样…

    编程 2024-10-03
  • 快速安装rpm包的方法

    一、使用rpm命令进行安装 rpm命令是在CentOS/RHEL等Linux系统中常用的包管理工具,可以通过以下步骤安装rpm包。 1、使用wget命令或者其他下载工具下载需要安装…

    编程 2024-10-24
  • Pip离线安装whl文件

    一、pip离线安装whl文件命令 在使用pip离线安装whl文件之前,需要先了解如何使用pip安装库的命令。首先推荐使用Python3版本的pip命令,可以使用以下命令进行检查: …

    编程 2024-10-03
  • 全面掌握PowerMockito——从入门到进阶

    一、Mockito简介 在开始了解PowerMockito之前,先来了解一下Mockito。 Mockito是一种mock工具,用于在Java测试中创建mock对象。Mock对象没…

    编程 2024-10-04
  • 包含8编码的java文件的词条

    1、对utf-8编码下的java文件如何编译? 2、对utf-8编码下的java文件如何编译 3、Eclipse导入项目后,修改了编码为UTF-8后,JAVA文件中的乱码编程正常的…

    编程 2024-10-03
  • 9200端口详解

    一、9200端口是什么 9200端口是Elasticsearch监听的HTTP API端口,默认情况下可以使用该端口访问其Web界面和API接口。 它是Elasticsearch默…

    编程 2024-11-19

发表回复

登录后才能评论