目录

 


 

一、LNMP架构简介

LNMP平台就是Linux、Ngnix、MySQL、PHP的组合架构,需要Linux服务器、MySQL数据库、PHP解析环境
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

 

二、Nginx编译安装

 

 1 [[email protected] ~]# yum -y install gcc gcc-c++ make pcre-devel zlib-devel
 2 
 3 [[email protected] ~]# tar zxf nginx-1.12.2.tar.gz
 4 [[email protected] ~]# cd nginx-1.12.2/
 5 [[email protected] nginx-1.12.2]# ./configure \
 6 > --prefix=/usr/local/nginx \
 7 > --user=nginx \
 8 > --group=nginx \
 9 > --with-http_stub_status_module ###统计状态模块
10 
11 [[email protected] nginx-1.12.2]# make && make install
12 
13 [[email protected] ~]# useradd -M -s /sbin/nologin nginx  ###创建一个不可登录的程序用户
14 
15 [[email protected] ~]# ln -s /usr/local/nginx/sbin/nginx /usr/bin ###优化执行路径
16 [[email protected] ~]# nginx ###启动服务
17 [[email protected] ~]# netstat -anpt | grep nginx ###查看nginx服务是否开启
18 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16429/nginx: master
19 
20 [[email protected] ~]# killall -s QUIT nginx ###选项-s QUIT等于-3 停止服务
21 [[email protected] ~]# netstat -anpt | grep nginx
22 
23 [[email protected] ~]# killall -s HUP nginx ###选项-s HUP等于-1 重新加载
24 [[email protected] ~]# netstat -anpt | grep nginx
25 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16488/nginx: master
26 
27 [[email protected] ~]# vi /etc/init.d/nginx ###制作管理脚本
28 #!/bin/bash
29 #chkconfig: 35 20 80
30 #description: nginx server
31 PROG="/usr/local/nginx/sbin/nginx"
32 PIDF="/usr/local/nginx/logs/nginx.pid"
33 
34 case "$1" in
35     start)
36        $PROG
37        ;;
38     stop)
39        killall -s QUIT $(cat $PIDF)
40        ;;
41     restart)
42        $0 stop
43        $0 start
44        ;;
45     reload)
46        killall -s HUP $(cat $PIDF)
47        ;;
48     *)
49        echo "Usage: $0 {start|stop|reload|status}"
50        exit 1
51 esac
52 exit 0
53 
54 [[email protected] ~]# chmod +x /etc/init.d/nginx
55 [[email protected] ~]# chkconfig --add nginx

 

 

三、编译安装Mysql数据库

3.1、安装环境

1 [[email protected] ~]# yum -y install \
2 > ncurses \
3 > ncurses-devel \
4 > bison \
5 > cmake

3.2、创建不可登录的用户

1 [[email protected] ~]# useradd -s /sbin/nologin mysql

3.3、上传安装包到/opt目录下解压缩并进行cmake配置

 

 1 [[email protected] ~]# cd /opt
 2 [[email protected] opt]# tar zxf mysql-boost-5.7.20.tar.gz
 3 
 4 [[email protected] mysql-5.7.20]# cmake \
 5 > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 6 > -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
 7 > -DSYSCONFDIR=/etc \
 8 > -DSYSTEMD_PID_DIR=/usr/local/mysql \
 9 > -DDEFAULT_CHARSET=utf8  \
10 > -DDEFAULT_COLLATION=utf8_general_ci \
11 > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
12 > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
13 > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
14 > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
15 > -DMYSQL_DATADIR=/usr/local/mysql/data \
16 > -DWITH_BOOST=boost \
17 > -DWITH_SYSTEMD=1

 

3.4、编译安装

1 [[email protected] mysql-5.7.20]# make && make install

3.5、数据库目录进行权限调整

1 [[email protected] ~]# chown -R mysql:mysql /usr/local/mysql/

3.6、建立调整配置文件

 

 1 [[email protected] ~]# vi /etc/my.cnf
 2 [client]
 3 port = 3306
 4 default-character-set=utf8
 5 socket = /usr/local/mysql/mysql.sock
 6 
 7 [mysql]
 8 port = 3306
 9 default-character-set=utf8
10 socket = /usr/local/mysql/mysql.sock
11 
12 [mysqld]
13 user = mysql
14 basedir = /usr/local/mysql
15 datadir = /usr/local/mysql/data
16 port = 3306
17 character_set_server=utf8
18 pid-file = /usr/local/mysql/mysqld.pid
19 socket = /usr/local/mysql/mysql.sock
20 server-id = 1
21 
22 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

 

3.7、调整配置文件权限

1 [[email protected] ~]# chown mysql:mysql /etc/my.cnf

3.8、设置环境变量

1 [[email protected] ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >>/etc/profile
2 [[email protected] ~]# echo 'export PATH' >> /etc/profile
3 [[email protected] ~]# source /etc/profile

3.9、初始化数据库

1 [[email protected] ~]# cd /usr/local/mysql/
2 [[email protected] mysql]# bin/mysqld \
3 > --initialize-insecure \
4 > --user=mysql \
5 > --basedir=/usr/local/mysql \
6 > --datadir=/usr/local/mysql/data

3.10、编辑启动文件

1 [[email protected] ~]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

3.11、启动mysql数据库并查看状态

1 [[email protected] ~]# systemctl start mysqld
2 [[email protected] ~]# netstat -anpt | grep mysqld
3 tcp6       0      0 :::3306                 :::*                    LISTEN      67263/mysqld

3.12、设置root登陆并设置密码

1 [[email protected] ~]# mysqladmin -uroot -p password 

 

 

四、编译安装PHP环境解析

4.1、安装环境依赖包

 

 1 [[email protected] ~]# yum -y install \
 2 > libjpeg \
 3 > libjpeg-devel \
 4 > libpng libpng-devel \
 5 > freetype freetype-devel \
 6 > libxml2 \
 7 > libxml2-devel \
 8 > zlib zlib-devel \
 9 > curl curl-devel \
10 > openssl openssl-devel

 

4.2、上传文件至opt目录下并解压缩

1 [[email protected] ~]# cd /opt
2 [[email protected] opt]# tar jxf php-7.1.10.tar.bz2

4.3、configure配置

 

 1 [[email protected] opt]# cd php-7.1.10/
 2 [[email protected] php-7.1.10]# ./configure \
 3 > --prefix=/usr/local/php \
 4 > --with-mysql-sock=/usr/lcoal/mysql/mysql.sock \
 5 > --with-mysqli \
 6 > --with-zlib \
 7 > --with-curl \
 8 > --with-gd \
 9 > --with-jpeg-dir \
10 > --with-png-dir \
11 > --with-freetype-dir \
12 > --with-openssl \
13 > --enable-fpm \
14 > --enable-mbstring \
15 > --enable-xml \
16 > --enable-session \
17 > --enable-ftp \
18 > --enable-pdo \
19 > --enable-tokenizer \
20 > --enable-zip

 

4.4、编译安装

1 [[email protected] php-7.1.10]# make && make install

4.5、php有三个配置文件,php.ini 核心配置文件,php-fpm.conf 进程服务配置文件,www.conf扩展配置文件

1 [[email protected] php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini
2 [[email protected] php-7.1.10]# vi /usr/local/php/lib/php.ini
3 date.timezone = Asia/Shanghai
4 mysqli.default_socket = /usr/lcoal/mysql/mysql.sock

4.6、配置及优化fpm模块

 

 1 [[email protected] php-7.1.10]# cd /usr/local/php/etc/
 2 [[email protected] etc]# cp php-fpm.conf.default php-fpm.conf
 3 [[email protected] etc]# cd php-fpm.d/
 4 [[email protected] php-fpm.d]# cp www.conf.default www.conf
 5 [[email protected] etc]# vi php-fpm.conf
 6 pid = run/php-fpm.pid ###去掉;号
 7 
 8 [[email protected] etc]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
 9 [[email protected] etc]# netstat -ntap | grep 9000
10 tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN       118685/php-fpm: mas
11 
12 [[email protected] etc]# ln -s /usr/local/php/bin/* /usr/local/bin
13 [[email protected] etc]# ps aux | grep -c "php-fpm" ###查看php-fpm进程数
14 4

 

4.7、配置Nginx支持PHP功能

 

 1 [[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf
 2  location ~ \.php$ {
 3             root           /var/www/aa;
 4             fastcgi_pass   127.0.0.1:9000;
 5             fastcgi_index  index.php;
 6             include        fastcgi.conf;
 7         }
 8 
 9 [[email protected] ~]# vi /var/www/aa/index.php
10 <?php
11 phpinfo();
12 ?>
13 
14 [[email protected] ~]# systemctl restart nginx

 

4.8、在客户端测试 http://192.168.73.40/index.php

个人对部署LNMP架构认知

 4.9、测试数据库工作是否正常

 

 1 [[email protected] ~]# mysql -u root -p
 2 Enter password: ###输入之前设置的密码
 3 
 4 mysql> create database test;
 5 Query OK, 1 row affected (0.00 sec)
 6 
 7 mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'admin123';
 8 Query OK, 0 rows affected, 1 warning (0.01 sec)
 9 
10 mysql> grant all on bbs.* to 'bbsuser'@'localhost' identified by 'admin123';
11 Query OK, 0 rows affected, 1 warning (0.00 sec)
12 
13 mysql> flush privileges;
14 Query OK, 0 rows affected (0.01 sec)
15 
16 [[email protected] ~]# vi /usr/local/nginx/html/index.php ###更改测试页内容
17 <?php
18 $link=mysqli_connect('192.168.73.40','bbsuser','admin123');
19 if($link) echo "<h1>Success!</h1>";
20 else echo "Fail!!";
21 ?>
22 [[email protected] ~]# systemctl restart nginx

 

4.10、在客户端输入 http://192.168.73.40/index.php测试

个人对部署LNMP架构认知

 

 

 

五、部署Discuz!社区论坛Web应用

5.1、安装

 

 1 [[email protected] ~]# cd /opt
 2 [[email protected] opt]# unzip Discuz_X3.4_SC_UTF8.zip ###将安装包放在/opt目录下并解压缩
 3 [[email protected] opt]# cd dir_SC_UTF8/
 4 [[email protected] dir_SC_UTF8]# cp -r upload /var/www/aa/bbs
 5 [[email protected] dir_SC_UTF8]# cd /var/www/aa/bbs/
 6 ###给安装论坛的文件权限
 7 [[email protected] bbs]# chown -R root:nginx ./config
 8 [[email protected] bbs]# chown -R root:nginx ./data
 9 [[email protected] bbs]# chown -R root:nginx ./uc_client
10 [[email protected] bbs]# chown -R root:nginx ./uc_server
11 [[email protected] bbs]# chmod -R 777 ./config
12 [[email protected] bbs]# chmod -R 777 ./data
13 [[email protected] bbs]# chmod -R 777 ./uc_client
14 [[email protected] bbs]# chmod -R 777 ./uc_server
15 [[email protected] bbs]# systemctl restart nginx

 

5.2、在客户端输入 http://192.168.73.40/bbs/install/index 进行论坛安装

5.3、安装完毕再用http://192.168.73.40/bbs/index.php登录论坛

个人对部署LNMP架构认知

相关文章:

  • 2022-12-23
  • 2020-10-08
  • 2021-11-28
  • 2021-05-19
  • 2022-12-23
  • 2021-10-19
  • 2021-12-24
  • 2021-08-31
猜你喜欢
  • 2021-08-07
  • 2021-02-17
  • 2019-11-14
相关资源
相似解决方案