LNMP架构搭建

前言

LNMP架构是一种用于搭建Web服务器环境的解决方案,它由Linux、Nginx、MySQL(或MariaDB)、PHP(或Python或Perl)这四个开源软件组成。这种架构通常用于搭建高性能的网站和Web应用程序。

目录

一、编译安装nginx

1. 准备工作

2. 压缩包解压

3. 编译与安装

4. 添加nginx系统服务

二、编译安装mysql

1. 安装mysql环境依赖包

2. 创建运行用户 

3. 编译与安装 

4. 修改mysql配置文件 

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

6. 设置路径环境变量 

7. 初始化数据库 

8. 添加mysqld系统服务 

9. 修改mysql的登录密码 

10. 授权远程登录

三、编译安装php软件

1. 安装环境依赖包

2. 编译安装

3. 路径优化 

4. 调整PHP配置文件 

4.1 调整主配置文件

4.2 调整进程服务配置文件

 4.3 调整扩展配置文件

5. 启动php-fpm

6. 配置nginx支持php解析

6.1 修改nginx主配置文件

6.2 验证php测试页

6.3 验证lnmp的是否搭建成功 

6.4 验证数据库工作是否正常 

四、安装论坛  

1. 解压安装包

2. 调整论坛目录的权限 

3. 论坛页面访问 

4. 安装完后访问论坛页面

五、安装博客  

1. 解压安装包

2. 调整目录权限

3. 创建数据库用户信息

4. 安装登录


环境软件版本:

nginx-1.22.0;mysql-5.7.20;mysql-5.7.20;Discuz_X3.4_SC_UTF8;wordpress-6.1.1-zh_CN

一、编译安装nginx

1. 准备工作

① 关闭防火墙

systemctl disable --now  firewalld
setenforce 0

② 安装依赖包

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

③ 创建运行用户、组

useradd -M -s /sbin/nologin nginx
#(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

2. 压缩包解压

cd /opt            #这里将所有安装包存放在/opt目录下
tar zxvf nginx-1.22.0.tar.gz -C /opt/

3. 编译与安装

cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \				            #指定nginx的安装路径
--user=nginx \										#指定用户名
--group=nginx \										#指定组名
--with-http_stub_status_module						#启用 http_stub_status_module 模块以支持状态统计

make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/		
#设置软连接,让系统识别nginx的操作命令可以自动补全nginx,$PATH

4. 添加nginx系统服务

tee /lib/systemd/system/nginx.service   <<eof     #多行重定向
[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 -1 $MAINPID
ExecStop=/bin/kill -3 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
eof

systemctl  daemon-reload                         #重新加载配置文件
chmod 777 /lib/systemd/system/nginx.service      #修改权限
systemctl enable --now nginx.service             #开机自启,并立刻启动

二、编译安装mysql

1. 安装mysql环境依赖包

yum -y install ncurses ncurses-devel bison cmake

yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

2. 创建运行用户 

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
 
[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" 	
#给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可

10. 授权远程登录

mysql -u root -p'密码'

三、编译安装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配置文件 

php有三个配置文件: 
php.ini:主配置文件  
php-fpm.conf:进程服务配置文件 
www.conf:扩展配置文件

4.1 调整主配置文件

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini	
vim /usr/local/php/lib/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai

php -m 					#验证安装的模块

4.2 调整进程服务配置文件

cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
--17行--去掉";"注释
pid = run/php-fpm.pid

 4.3 调整扩展配置文件

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

5. 启动php-fpm

cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service
netstat -anpt | grep 9000
#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。

6. 配置nginx支持php解析

6.1 修改nginx主配置文件

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  /usr/local/nginx/html$fastcgi_script_name;	#将 /scripts 修改为nginx的工作目录
   #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值
	include        fastcgi_params;
}
 
systemctl restart nginx.service

6.2 验证php测试页

vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
systemctl restart nginx.service

6.3 验证lnmp的是否搭建成功 

浏览器访问http://192.168.190.100/index.php
#这里的ip根据自己的机器来定

6.4 验证数据库工作是否正常 

mysql -u root -p'密码'
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;

vim /usr/local/nginx/html/index.php      		#替换原来的测试页内容
<?php
$link=mysqli_connect('192.168.190.100','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
systemctl restart nginx.service

浏览器访问
http://192.168.233.21/index.php

四、安装论坛  

1. 解压安装包

cd /opt
unzip Discuz_X3.4_SC_UTF8.zip  
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/

2. 调整论坛目录的权限 

chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/

3. 论坛页面访问 

http://192.168.190.100/bbs/install/index.php

数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:admin123

4. 安装完后访问论坛页面

http://192.168.190.100/bbs/admin.php
http://192.168.190.100/bbs/index.php

 

五、安装博客  

1. 解压安装包

tar xf wordpress-6.1.1-zh_CN.zip  -C /opt/
cp -r wordpress  /usr/local/nginx/html/
安装页面在 wp-admin 下

2. 调整目录权限

chmod 777 wordpress/ -R

3. 创建数据库用户信息

mysql -u root -p'密码'
CREATE DATABASE blog;
GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON blog.* TO 'bloguser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;

4. 安装登录

http://192.168.190.100/wordpress/wp-admin/install.php
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123

  • 16
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值