LNMP架构搭建实操

news/2024/11/13 4:20:49/

目录

一、安装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发布一个网站就完成了


http://www.ppmy.cn/news/520782.html

相关文章

3.0、Java_IO流 - 初识四大 IO 抽象类

3.0、Java_IO流 - 初识四大 IO 抽象类 在Java的 IO流 中存在四大抽象类&#xff0c;分别是 InputStream / OutputStream 和 Reader / Writer 类是所有 IO流 类的抽象父类&#xff1b;我们就先来了解一下这四个抽象类的作用&#xff1b; IO流可以分为两种&#xff0c;他们分别是…

Linux【系统学习】(shell篇)

第 1 章 Shell 概述 1&#xff09;Linux 提供的 Shell 解析器有 2&#xff09;bash 和 sh 的关系 3&#xff09;Centos 默认的解析器是 bash 第 2 章 Shell 脚本入门 1&#xff09;脚本格式 脚本以#!/bin/bash 开头&#xff08;指定解析器&#xff09; 2&#xff09;第一个 …

一加7pro保存的录音文件在哪一个文件夹?

打开文件管理&#xff0c;先点击底端的存储&#xff0c;然后依次点击Record、SoundRecord&#xff0c;即可找到保存的录音文件。 转载于:https://www.cnblogs.com/coolwhite/p/11146183.html

安卓手机备忘录怎么添加录音

1&#xff0c;在便签分类里&#xff0c;长按底部的&#xff0c;打开大输入框。 2&#xff0c;点击输入框里麦克风按钮&#xff0c;跳转到录音界面录音并上传。 3&#xff0c;如果要上传本地音频&#xff0c;可以点击输入框工具栏里的传文件按钮&#xff0c;然后选择音频&#x…

计算机中录音文件以什么格式保存,手机录音是什么格式

手机的录音格式一般都是AMR、WAV、AWB格式&#xff0c;你要是想转换成MP3格式的话可以试试下面这个办法&#xff1a; 录音转文字助手 一、查找、打开 第一步&#xff1a;首先需要在手机应用市场找到【录音转文字助手】&#xff0c;安在手机中就可以打开打开录音转文字助手之后&…

OPPO手机怎么录音 OPPO手机中便签进行录音的操作方法

现在国产手机越来越受欢迎了&#xff0c;身边不少人都在使用OPPO手机。那么在OPPO手机上怎么录音呢&#xff1f;OPPO手机录音的操作方法有哪些&#xff1f; 其实&#xff0c;OPPO手机有内置的录音应用&#xff0c;在手机桌面的【工具】文件夹里找到录音应用&#xff0c;打开之…

手机的耳机插电脑上可以录音吗 怎么录音

为了不打扰到周围的人&#xff0c;很多人在听歌的时候往往会将耳机插到电脑上&#xff0c;但是又想将好听的影视剧背景音乐录制下来&#xff0c;这时候就不知道怎么录制了&#xff0c;今天统一说一下遇到这样的情况怎么将声音录制下来。 1、需要迅捷音频录制工具的辅助&#xf…

android相册在哪个文件夹里,手机相册在哪个文件夹?

原创手机相册在哪个文件夹&#xff1f; 编辑:小鑫 来源:PC下载网时间:2018-05-17 14:10:51 安卓手机的相册在哪个文件夹中&#xff1f;小编今天就来教大家如何找到安卓手机中存储的照片文件。 方法步骤 1.在生活中我们经常会使用手机拍摄一些照片&#xff0c;通过数据线连接电脑…