学习企业级平台架构一篇就够了(LNMP之手工编译安装以及Discuz论坛的部署)!!

本文详述了如何在Linux环境中,手动编译安装Nginx、MySQL和PHP,并部署Discuz论坛。从环境依赖包的安装,到Nginx、MySQL的配置与管理,再到PHP的编译优化和FPM模块设置,最后指导完成Discuz的安装步骤。
摘要由CSDN通过智能技术生成

前言

LAMP平台应该是目前应用最为广泛的网站服务器架构,但随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中"E"来自于Nginx的发音[engine x]

构建LNMP网站平台

8

构建LNMP平台需要Linux服务器、Nginx服务器、MySQL数据库、PHP解析环境,具体方法和LAMP差不多,Nginx服务器的搭建方法上篇博客已经介绍了,下面以安装好的Nginx服务器为基础,搭建LNMP平台
本文章实现已下目标:

  • 安装Nginx服务器
  • 安装Mysql数据库
  • 安装PHP
  • 部署Discuz

一:Nginx安装

实验环境:Centos 7.4 Nginx1.15

[root@server3 ~]# systemctl stop firewalld
[root@server3 ~]# setenforce 0

1.1:安装环境依赖包

  • Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应先安装这些软件的开发包,以便提供相应的库和头文件,确保Nginx的安装顺利完成
[root@server3 ~]# yum -y install \
> gcc \
> gcc-c++ \
> pcre-devel \         #支持正则表达式
> zlib-devel           #软件包的开发包,一个函数库

1.2:新建nginx管理用户

  • Nginx服务程序默认以nobody身份运行,建议为其创建专门的的账号,以便更准确的控制其访问权限,增加灵活性,降低安全风险,列如建立一个nginx的用户,不建立宿主文件夹,也禁止登录到shell环境.
[root@server3 opt]# useradd -M -s /sbin/nologin nginx
[root@server3 opt]# id nginx
uid=1001(nginx) gid=1001(nginx)=1001(nginx)

1.3:编译及安装

  • 配置Nginx的编译选项时,将安装路径设为/usr/local/nginx,运行用户和组均设为Nginx:启用http_stub_moduld以支持状态统计,便于查看服务器的链接信息。
[root@server3 nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with—http_stub_status_module
#编译
[root@server3 nginx-1.12.2]# make -j3 && make install

1.4:路径优化,便于系统管理

  • 使Nginx命令的运行更加方便,可以使主程序nginx创建链接文件,以便管理员执行“nginx”命令就可以调用Nginx的主程序
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
[root@localhost nginx-1.12.2]# nginx
#检查配置文件
[root@server3 nginx-1.12.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

1.5:使用systemctl控制

  • 使Nginx服务的启动、停止、重载等操作更加方便,可以编写基于Centos
    7.4的Nginx服务控制文件使用systemctl工具来进行管理,Centos 7.4系统的习惯
[root@localhost ~]# vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx                    #描述
After=network.target                 #服务类别

[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid    #PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx       #启动服务
ExecReload=/usr/bin/kill -S HUP $MAINPID    #根据PID重载配置
ExecStop=/usr/bin/kill -S QUIT $MAINPID     #根据PID终止进程
PrivateTmp=true

[Install]
WantedBy=multi-user.target

#增加权限
[root@localhost ~]# cd /lib/systemd/system
[root@localhost system]# chmod 754 nginx.service

或者用service

[root@server3 nginx-1.12.2]# cd /etc/init.d/
[root@server3 init.d]# vi nginx 
#!/bin/bash
# chkconfig: 35 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM="/usr/local/php/var/run/php-fpm.pid"
case "$1" in
  start)
   $PROG
   $PROG_FPM
   ;;
  stop)<
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值