千家信息网

手工编译LNMP(实验步骤详细可跟做)

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、
千家信息网最后更新 2026年11月01日手工编译LNMP(实验步骤详细可跟做)

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

Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。

Mysql是一个小型关系型数据库管理系统。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统

本章,就带大家一起来进行LNMP的手工编译。

实验步骤为四步:

  1. 安装nginx服务

  2. 安装mysql服务

  3. 安装配置PHP解析环境

  4. 部署discuz社区论坛web应用

实验环境:centos7.5 nginx-1.12 mysql-boot-5.7 php-7.1

实验开始

【安装nginx服务】

1、安装环境依赖安装包:

[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++

2、创建运行用户、组

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

3、解压安装包

tar zxvf nginx-1.12.2.tar.gz -C /opt/

4、编译安装及配置优化

cd nginx-1.12.2/./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module                               make && make install                                                   //编译安装nginxln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/                 //创建命令的软连接systemctl stop firewalld.service                                            //关闭防火墙setenforce 0   nginx -t                                                                     //检查配置文件是否有问题方便管理nginx服务,编辑nginx服务脚本,将其添加到systemctl服务中vim /lib/systemd/system/nginx.service[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/bin/kill -s HUP $MAINPIDExecStop=/usr/bin/ki11 -s QUIT $MATNPIDPrivateTmp=true[Install]WantedBy=multi-user.targetchmod 754 nginx.service       //赋予执行权限

【安装mysql服务】

1、安装编译工具

yum -y install \ncurses \ncurses-devel \bison \cmake\make

2、解压缩包

tar zxvf mysql-boost-5.7.20.tar.gz -C /opt

3、定制配置

cd /opt/mycmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=boost \-DWITH_SYSTEMD=1                      //5.7版本必须添加这个参数

4、编译安装

make && make install

5、添加程序用户,及权限相关设置

useradd -s /sbin/nologin mysqlchown -R mysql:mysql /usr/local/mysql/                //设置属主属组


6、修改配置文件(删除原内容,复制下列内容)


vi /etc/my.cnf
[client]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysql]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataport = 3306character_set_server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket = /usr/local/mysql/mysql.sockserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

7、设置环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profileecho 'export PATH' >> /etc/profilesource /etc/profile

8、初始化数据库

cd /usr/local/mysql/bin/mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/datacp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

9、数据库开启自启、关闭、状态

systemctl enable mysqldsystemctl start mysqldsystemctl stop mysqldnetstat -natp | grep 3306

10、设置密码

mysqladmin -uroot -p password                  mysql -u root -p                   //进入数据库


【安装PHP服务】

1、安装环境依赖包

yum install -y \libjpeg \libjpeg-devel \libpng libpng-devel \freetype freetype-devel \libxml2 \libxml2-devel \zlib zlib-devel \curl curl-devel \openssl openssl-devel

2、解压安装包

tar jxvf php-7.1.10.tar.bz -C /opt

3、定制配置

cd /opt/php-7.1.10./configure \--prefix=/usr/local/php \--with-mysql-sock=/usr/local/mysql/mysql.sock \--with-mysqli \--with-zlib \--with-curl \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zip

4、修改配置文件

//php有三个配置文件:

php.ini //核心配置文件

php-fpm.conf //进程服务配置文件

www.conf //扩展配置文件

cp php.ini-development /usr/local/php/lib/php.ini             //配置核心模块vim /usr/local/php/lib/php.inimysqli.default_socket = /usr/local/mysql/mysql.sockdate.timezone = Asia/Shanghai                                 //设置路径,及时区/usr/local/php/bin/php -m                //验证安装模块

配置及优化fpm模块

cd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.confvim php-fpm.confpid = run/php-fpm.pid              //去掉;注释  开启pidcd /usr/local/php/etc/php-fpm.d/cp www.conf.default www.conf/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini         //开启php-fpm模块netstat -natp | grep 9000ln -s /usr/local/php/bin/* /usr/local/bin/                           //创建软连接。系统识别命令ln -s /usr/local/php/bin/* /usr/local/bin/                           //创建软连接。系统识别命令


让nginx支持php功能

vim /usr/local/nginx/conf/nginx.conf               //配置文件中有,只需要去掉注释#修改路径           location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;            include        fastcgi_params;        }

5、配置服务首页信息

killall -1 nginx                //重启nginx服务 cd /usr/local/nginx/html/mv index.html index.phpvim index.php                                 //原来的内容更改192.168.109.137/index.php                             //访问首页

6、测试数据库工作是否正常

mysql -uroot -pCREATE DATABASE bbs;GRANT all ON bbs.* TO 'bbsuser' @'%' IDENTIFIED BY 'admin123';GRANT all ON bbs.* TO 'bbsuser' @'localhost' IDENTIFIED BY 'admin123';flush privileges;#回车     //配置账号文件show databases;    /查看数据库

7、测试连通性

vi /usr/local/nginx/html/index. php##原来的测试页内容更改如下Success!!";else echo "Fail!!" ;?>systemctl restart nginx在网页测试"http://192.168.109.137/index.php"


【部署discuz 社区论坛web应用】


unzip Discuz_X3.4_SC_UTF8.zip -d /opt                   ##解压安装包cd /tmp/dir_SC_UTF8/cp -r upload/ /usr/local/nginx/html/bbs##添加权限,使服务可以安装cd /usr/local/nginx/html/bbs/chown -R root:nginx ./config/chown -R root:nginx ./data/chown -R root:nginx ./uc_client/chown -R root:nginx ./uc_server/chmod -R 777 ./config/chmod -R 777 ./data/chmod -R 777 ./uc_client/chmod -R 777 ./uc_server/192.168.109.137/bbs/install/index.php                     //权限设置完毕后,进行安装192.168.109.137/bbs/index.php                               //安装完成,登录使用




LNMP手工编译全部完成。关于nginx的其他服务可以进我的主页进行查看

服务 配置 文件 系统 编译 数据 数据库 环境 内容 服务器 权限 模块 测试 实验 命令 手工 操作系统 代表 核心 注释 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 北京路客互联网科技有限公司 为想互联网科技怎么样 圆梦互联网科技 科技互联网技术 互联网金融与金融科技 互联网科技公司怎么样 互联网 的科技创新 中国互联网科技发展 亿账通互联网科技 上游互联网科技 互联网高科技股票 济南华为互联网科技产业总部基地 阿大互联网科技有限公司 开一家科技互联网公司需要多少钱 威龙国际互联网科技公司 济南有互联网科技公司吗 广州千川互联网科技有限公司 下一代互联网重大应用科技园 科技和互联网行业的特点 互联网科技股 新华互联网科技学院 上海致骋互联网科技 南平创想时代互联网科技有限公司 互联网科技和信息 想开互联网科技公司怎么样 科技赋能视角下互联网保险发展 烟台灵鸽互联网科技有限公司 米泉互联网科技专业怎么样 科技互联网公司两年变化
0