这里写目录标题
前言
LAMP平台应该是目前应用最为广泛的网站服务器架构,但随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中"E"来自于Nginx的发音[engine x]
构建LNMP网站平台
构建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)<