目录
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
论坛创建完成