LNMP架构搭建实操

本文详细介绍了如何搭建LNMP架构,包括安装Nginx、Mysql和PHP服务,以及配置Nginx支持PHP解析,最后通过实例演示了如何使用LNMP架构搭建bbs论坛。
摘要由CSDN通过智能技术生成

目录

一、安装Nginx服务

1.安装依赖包

2.创建Nginx运行用户

3.编译安装Nginx源码包

4.优化路径便于使用

5、添加 Nginx 系统服务

二、安装Mysql服务

1.安装Mysql环境依赖包

2.创建Mysql运行用户

3.编译安装

4.修改mysql配置文件

5.更改mysql安装目录和配置文件的属主属组

6.设置路径环境变量,便于使用

7.初始化数据库

8.添加mysqld系统服务

9.修改mysql的登录密码

10.授权root用户远程登录

​编辑​编辑

三、安装PHP服务

1.安装环境依赖包

2.编译安装

3.优化路径便于使用

4.调整php配置文件

5.启动php-fpm

6.配置 Nginx 支持 PHP 解析

7.添加inex.php文件用于测试php服务是否生效

8.验证数据库工作是否正常

四、使用LNMP架构搭建bbs论坛


LNMP架构是指Linux+Nginx+Mysql+PHP(Perl、Python)

首先准备Linux主机,关闭防火墙和selinux

需要获取相关的源码包

配置字段含义可参考 LAMP架构搭建实操_Evens7xxX的博客-CSDN博客

架构图

img编辑

与LAMP的区别

LNMP架构中,nginx处理静态页面请求,fastCGI会将动态页面请求转发给php-fpm模块中,再经过wrapper筛选,最后给php解析,涉及到数据库的数据,会打开数据库连接接口获取数据。

一、安装Nginx服务

1.安装依赖包

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2.创建Nginx运行用户

useradd -M -s /sbin/nologin nginx

3.编译安装Nginx源码包

#解压源码包
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
​
#自定义安装
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
​
#编译安装
make && make install

4.优化路径便于使用

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

5、添加 Nginx 系统服务

#自定义service文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
​
#设置权限,使文件生效
chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

二、安装Mysql服务

1.安装Mysql环境依赖包

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

2.创建Mysql运行用户

useradd -M -s /sbin/nologin  mysql

3.编译安装

#解压源码包
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
​
#自定义安装
cd /opt/mysql-5.7.20/
cmake \
-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_EXTRA_CHARSETS=all \
-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
​
#编译安装
make && make install

4.修改mysql配置文件

vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
​
[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash
​
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
​
sql_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

5.更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

6.设置路径环境变量,便于使用

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

7.初始化数据库

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

8.添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

9.修改mysql的登录密码

mysqladmin -u root -p password "abc123"

10.授权root用户远程登录

mysql -u root -p

输入密码登入

img

三、安装PHP服务

1.安装环境依赖包

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

2.编译安装

#解压源码包
cd /opt
tar jxvf php-7.1.10.tar.bz2
​
#自定义安装
cd 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
​
#编译安装
make && make install

3.优化路径便于使用

ln -s /usr/local/php/bin/* /usr/local/bin/ 
ln -s /usr/local/php/sbin/* /usr/local/sbin/

4.调整php配置文件

/usr/local/php/lib/php.ini主配置文件
/usr/local/php/etc/php-fpm.conf进程服务配置文件 (默认只有模板文件,需要复制改名为php-fpm.conf)
/usr/local/php/etc/php-fpm.d/www.conf扩展配置文件 (默认只有模板文件,需要复制改名)

(1)修改php.ini

​
#复制模板并修改
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini   
​
vim /usr/local/php/lib/php.ini
#939行,取消注释,修改
date.timezone = Asia/Shanghai
​
#1170行,修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
​
#验证安装的模块
php -m


​

img

img

(2)修改 php-fpm.conf

​
#复制模板文件
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
​
#修改进程服务配置文件
vim php-fpm.conf
​
#17行,去掉";"注释
pid = run/php-fpm.pid


​

img

最后一行代表加载/usr/local/php/etc/php-fpm.d/下所有conf文件

img

(3)修改www.conf

 cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
​
vim www.conf

修改监听地址(默认指定ip为本机,如果提供nginx服务与提供php服务的主机不是一台,需要修改为提供nginx服务器的ip地址)

img

可修改属主属组为nginx

img

5.启动php-fpm

#进入软件包目录,复制并启用service文件
cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
​
#重载并开启服务
systemctl daemon-reload
systemctl restart php-fpm.service

检查发现服务已开启

img

6.配置 Nginx 支持 PHP 解析

vim /usr/local/nginx/conf/nginx.conf
​
#65行,取消注释,修改
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include        fastcgi_params;
}
​
#重启服务使配置生效
systemctl restart nginx.service

将 /scripts 改为 $document_root 代表当前请求在root指令中指定的值(网页根目录)

img

7.添加inex.php文件用于测试php服务是否生效

首先需要在 /usr/local/nginx/conf/nginx.conf 中添加指定首页文件index.php

img

重载服务使配置生效

systemctl reload nginx.service

添加index.php文件用于访问测试

#在root指定的根目录下创建index.php文件,并添加内容
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

img

8.验证数据库工作是否正常

添加授权,编写测试页面

img

img编辑

img编辑

四、使用LNMP架构搭建bbs论坛

解压论坛压缩包

img

进入论坛文件中,将页面拷贝到bbs网页根目录下

img

img

数据库授权

img

访问页面

img

img

修正报错部分,更改属主和权限

img

刷新网页后继续下一步

img编辑

选择全新安装

img

设置刚刚的数据库和密码,再设置一个管理员和密码

img

安装成功后访问

img

可以在右上角登录管理员

img

至此使用LNMP发布一个网站就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值