目录
1、LNMP简述:
1.1、概述
1.2、LNMP是一个缩写词,及每个字母的含义
1.3、编译安装与yum安装差异
1.4、编译安装的优点
2、通过LNMP创建论坛
2.1、 安装nginx服务
2.1.1、关闭防火墙
2.1.2、创建运行用户
2.1.3、 编译安装
2.1.4、 优化路径
2.1.5、 添加 Nginx 系统服务
2.1.6、赋权刷新重启
2.2. 安装 MySQL 服务
2.2.1、 安装Mysql环境依赖包
2.2.2、 创建运行用户
2.2.3、编译安装 解压
2.2.4、修改mysql 配置文件
2.2.5、更改mysql安装目录和配置文件的属主属组
编辑 2.2.6、设置路径环境变量
2.2.7、 初始化数据库
2.2. 8、添加mysqld系统服务
2.2.9 修改mysql 的登录密码
2.2.10 授权远程登陆
2.3、处理动态页面的中间件 PHP
2.3.1、安装依赖环境
2.3. 2、编译安装
2.3.3、路径优化
2.3. 4、调整PHP配置文件
2.3.5、 启动PHP,端口号为9000
2.3.6、配置 Nginx 支持 PHP 解析
2.3.7、验证PHP测试页.
2.3.8、 数据库配置
2.4 部署 Discuz!社区论坛 Web 应用
2.4.1、解压。复制
2.4.2 调整论坛目录的权限
2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php
1、LNMP简述:
1.1、概述
LNMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。
1.2、LNMP是一个缩写词,及每个字母的含义
L: Linux操作系统、
N: nginx网站服务器、前端,提供前端的静态页面服务,同时具有代理和转发的作用
M: MySQL数据库服务器、关系型数据库,主要保存用户的账号和密码
P: PHP(或Perl、Python)动态网页编程语言。负责解释动态网页文件,负责沟通WEB服务器,和nginx以及数据库进行协同工作,PHP的主要作用就是web开发,前端开发
1.3、编译安装与yum安装差异
通过编译安装进行设置
编译安装用二进制进行安装,编译安装可以自由地指定需要的模块,
yum只是安装基础的服务模块,其他模块要想使用用户需要手动重新添加
在企业中nginx、mysql都是编译安装
1.4、编译安装的优点
- 具有较大的自由度,功能可定制
- 可及时获得最新的软件版本
- 普遍适用于大多数Linux版本,便于一直使用
2、通过LNMP创建论坛
2.1、 安装nginx服务
2.1.1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2.1.2、创建运行用户
useradd -M -s /sbin/nologin nginx
2.1.3、 编译安装
cd /opt
解压tar zxvf nginx-1.22.0.tar.gz -C /opt/
安装
cd nginx-1.22.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
安装
程序所在位置
2.1.4、 优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
2.1.5、 添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service
[Unit]:这个部分定义了服务单元的元数据。
Description: 描述该服务单元的信息,描述为"nginx"。
After: 定义服务单元所依赖的其他单元,这里表示服务需要在网络加载完成之后启动。
[Service]:这个部分定义了服务的运行配置。
Type: 指定服务的类型,这里是forking,表示服务是一个后台进程(通常是fork出子进程)。
PIDFile: 指定保存主进程ID的文件路径,Nginx将会把主进程ID写入这个文件,以便Systemd可以追踪和管理进程。
ExecStart: 指定启动服务的命令。这里是启动Nginx的命令/usr/local/nginx/sbin/nginx。
ExecReload: 指定重新加载配置的命令。当执行此命令时,Systemd将发送HUP信号给主进程,Nginx将重新加载配置文件。
ExecStop: 指定停止服务的命令。当执行此命令时,Systemd将发送QUIT信号给主进程,Nginx将优雅地停止服务。
PrivateTmp: 将此项设置为true,表示为服务提供独立的临时目录。
[Install]:这个部分定义了服务的安装配置。
WantedBy: 指定服务所属的目标(target),这里是multi-user.target,表示服务在多用户模式下启动。
2.1.6、赋权刷新重启
2.2. 安装 MySQL 服务
2.2.1、 安装Mysql环境依赖包
yum -y install \
ncurses \
ncurses-devel \
bison \
cmake
2.2.2、 创建运行用户
useradd -M -s /sbin/nologin mysql
2.2.3、编译安装 解压
进入源码目录进行更改
数据库配置过程
查看内存容量,内存够了进行安装
2.2.4、修改mysql 配置文件
vim /etc/my.cnf
2.2.5、更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf
2.2.6、设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
2.2.7、 初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
2.2. 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
复制系统服务文件,重启服务
2.2.9 修改mysql 的登录密码
mysqladmin -u root -p password "123456"
2.2.10 授权远程登陆
mysql -u root -p
授予root用户可以在所有终端远程登录,使用的密码是123456,并对所有数据库和所有表有操作权限,并进行刷新
数据库完成
2.3、处理动态页面的中间件 PHP
2.3.1、安装依赖环境
2.3. 2、编译安装
cd /opt
tar jxvf php-7.1.10.tar.bz2
make -j 4 && make install 安装
编译安装完成后
2.3.3、路径优化
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
2.3. 4、调整PHP配置文件
php有三个配置文件:
php.ini 主配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
将配置文件进行复制,以防止配置错误
更改时区
通信配置文件所在,为了和数据库建立通讯
#验证安装的模块
修改进程服务配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
调整扩展配置文件
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
2.3.5、 启动PHP,端口号为9000
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000
-c 后面表示读取的配置文件位置
2.3.6、配置 Nginx 支持 PHP 解析
2.3.7、验证PHP测试页.
2.3.8、 数据库配置
数据库bbs创建成功
赋权
flush privileges;刷新
替换原来的测试内容进行测试
测试没问题
2.4 部署 Discuz!社区论坛 Web 应用
2.4.1、解压。复制
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis
cd /opt/dis/dir_SC_UTF8/
cp -r upload/ /usr/local/nginx/html/bbs/
2.4.2 调整论坛目录的权限
2.4.3、进行论坛访问192.168.41.7/bbs/install/index.php
论坛创建完成