配置lnmp架构

本文详细介绍了如何手动搭建LNMP(Linux, Nginx, MySQL, PHP)架构。从源码下载到编译安装MySQL、PHP和Nginx,包括编译过程中可能遇到的问题及解决办法,以及安全初始化数据库和配置文件。最后,通过创建PHP页面测试确认LNMP环境成功搭建。" 122346330,8155541,医疗行业短信通知系统及其应用场景,"['医疗信息系统', '数字化医疗', '短信服务', '医院管理', '远程医疗服务']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# make & make install

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

工作流程:

client用户请求 --> 通过cdn、4lb负载均衡等 --> 服务端nginx --> 如果用户请求为html这类静态页面 --> nginx直接返还结果。

client用户请求 --> 通过cdn、4lb负载均衡等 --> 服务端nginx --> 如果用户请求为动态页面 --> 请求转移到fastcgi协议 --> 然后发给php-fpm进程 --> 进一步转发到工作进程wrapper --> 再到php服务 --> 如果需要访问mysql数据库 --> 返回结果到php --> php-fpm --> fastcgi --> nginx --> clint

搭建lnmp架构

编译mysql(源码包下载地址:https://downloads.mysql.com/archives/community/

# tar zxf mysql-boost-5.7.30.tar.gz  解压
# cd mysql-5.7.30/
# useradd -s /sbin/nologiin -M mysql安装前创建 mysql 用户来启用Mysql 服务

没有安装cmake提前安装
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql \ #指定安装的位置
> -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock \	#指定套接字文件的位置
> -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data \	
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_MYISAM_STORAGE_ENGINE=1 \	#存储引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \	#存储引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \	#存储引擎
> -DWITH_READLINE=1 \	#支持readline库
> -DENABLED_LOCAL_INFILE=1 \	#加载本地数据
> -DMYSQL_USER=mysql \	#只定mysql用户为运行
> -DMYSQL_TCP_PORT=3306	#指定运行端口
> -DWITH_BOOST=boost/boost_1_59_0 #指定boost

安装过程中会出现一些报错需要安装一些组件,按照提示安装().devel ,我的安装过程需要的组件有gcc-c++,ncurses-devel,bison。安装完成后删除 rm -fr  CMakeCache.txt(此文件为预编译缓存)。解决所有组件后开始编译安装

# make & make install

# cd /usr/local/lnmp/mysql/
# mkdir data    编译时指定的目录
# chown -R mysql data/  修改目录的拥有者

# cp mysql-test/include/default_my.cnf /etc/my.cnf  复制配置文件
# cp -a support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld 给脚本执行权限
# chkconfig mysqld on  设置开机启动
# ln -s /usr/local/lnmp/mysql/bin/* /usr/local/bin/   做软连接
# mysqld --user=mysql --initialize   初始化(完成后生成一个密码)
# systemctl start mysqld
# systemctl status mysqld.service

此时可以使用生成的密码登录数据库,但是没有安全初始化无法查看数据库。所以需要进行安全初始化;这里直接进行安全初始化

# mysql_secure_installation 安全初始化修改完密码后便可以登录数据库查看
# mysql -uroot -pBp4890731+
mysql> show databases;

编译php(源码包下载地址:https://www.php.net/downloads.php#gpg-7.4.5

# tar zxf php-7.4.20.tar.gz 解压
# cd php-7.4.20/
#  ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysqli=/usr/local/lnmp/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-s  预编译

编译过程中需要安装的组件有libpng-devel,libxml2-devel,sqlite-devel。(oniguruma,oniguruma-devel)这两个安装包需要在网上下载,下载地址( http://down.24kplus.com/linux/oniguruma/oniguruma-devel-6.7.0-1.el7.x86_64.rpmhttp://down.24kplus.com/linux/oniguruma/oniguruma-6.7.0-1.el7.x86_64.rpm)。编译完成后进行make install。

# rpm -ivh oniguruma-6.7.0-1.el7.x86_64.rpm oniguruma-devel-6.7.0-1.el7.x86_64.rpm  安装组件
继续编译
编译完成后
# make insatll

编辑配置文件

# cd /usr/local/lnmp/php/
# cp etc/php-fpm.conf.default etc/php-fpm.conf
# vim etc/php-fpm.conf  此文件中需要打开php进程

# cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
# vim etc/php-fpm.d/www.conf 更改配置中的user和group

 

 

最后复制源码中的主配置文件
# cp /root/Downloads/php-7.4.20/php.ini-development etc/php.ini
# vim etc/php.ini  更改时区

 

# cp /root/Downloads/php-7.4.20/sapi/fpm/init.d.php-fpm /etc/init.d/php.fpm 复制启动脚本
# chmod +x /etc/init.d/php.fpm 加执行权限
# useradd -s /sbin/nologin -M nginx 添加nginx用户
# /etc/init.d/php.fpm start  开启服务
# netstat -antlp 查看端口   

编译nginx(源码包下载地址:http://nginx.org/en/download.html

# tar zxf nginx-1.18.0.tar.gz  解压
# cd nginx-1.18.0/# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx 编译
# make install、
# nginx/sbin/nginx -V

安装完成后,可以查看版本号。我们需要删除版本号后的变量和注释掉debug

# vim /root/Downloads/nginx-1.18.0/src/core/nginx.h

 

然后删除nginx目录重新编译

# make & make install
# cd /usr/local/lnmp
# vim conf/nginx.conf 添加index.php文件,首先访问此文件。之后需要开启php连接模块,发布页面时index.php,直接访问fastcgi.conf

 

然后开启服务

# ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin 做软连接
# nginx -t 语法检查
# nginx 开启服务  (nginx -s reload 重新加载)

访问测试:

写一个php页面

# vim conf/nginx.conf

测试:  lnmp架构搭建完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值