Linux LNMP平台架构搭建


安装nginx

1.关闭防火墙及内核防护
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装环境依赖包
yum install gcc gcc-c++ pcre-devel zlib-d

3.编译安装nginx
tar zxvf nginx-1.12.2.tar.gz -C /opt/
cd /opt/nginx-1.12.2

useradd -M -s /sbin/nologin nginx

./configure \
–prefix=/usr/local/nginx \
–user=nginx \
–group=nginx \
–with-http_stub_status_module

make && make install

4.优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
ls -l /usr/local/sbin/nginx
Linux LNMP平台架构搭建

5.检查配置文件
nginx -t
Linux LNMP平台架构搭建

6.添加系统服务
cd /lib/systemd/system
vim nginx.service (vim是vi编辑器的增强版,如果出现bash等提示信息说明vim没有安装,执行yum -y install vim 即可)
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

7.修改nginx.service权限
chmod 754 nginx.service

8.启动服务并查看端口
systemctl start nginx.service (执行该命令时用tab键看看nginx.service能否补全,如果能够通过tab补全表示添加系统服务没问题,那么执行命令直接开启nginx服务)

netstat -antp | grep 80 (查看80端口状态,如果出现bash信息,执行yum -y install net-tools后即可)
Linux LNMP平台架构搭建
9.验证
在浏览器输入IP,例如我的IP是20.00.60,在浏览器输入20.0.0.60
Linux LNMP平台架构搭建





安装MySQL

1.安装mysql环境依赖包
yum -y install ncurses ncurses-devel bison cmake
解释:
ncurses(字符终端处理工具)
bison (语法分析器)
cmake (一个跨平台的编译工具)

2.创建mysql运行管理用户
useradd -s /sbin/nologin mysql

3.解压mysql安装包
cd /opt
tar zxvf tar zxvf mysql-boost-5.7.20.tar.gz
cd mysql-5.7.20/

4.编译安装mysql
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1
解释:
DCMAKE_INSTALL_PREFIX(指定 mysql 数据库安装路径)
DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock (指定连接文件)
DSYSCONFDIR=/etc (配置文件存放目录)
DSYSTEMD_PID_DIR=/usr/local/mysql(PID文件存放目录)
DDEFAULT_CHARSET=utf8(默认字符集,utf8)
DDEFAULT_COLLATION(指定默认使用的字符集校对规则,utf8_general_ci
是适用于 UTF-8 字符集的通用规则)
DMYSQL_DATADIR=/usr/local/mysql/data (mysql数据存放位置)
DWITH_BOOST=boost (支持运行库)
DWITH_SYSTEMD(主从复制要用到的ID***)

make && make install

5.调整数据库目录权限
chown -R mysql:mysql /usr/local/mysql/
Linux LNMP平台架构搭建

6.调整配置文件
vi /etc/my.cnf
(将原有内容全部删除,添加如下内容)
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

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
(:wq保存退出)

chown mysql:mysql /etc/my.cnf (修改所属)

7.设置环境变量
echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib: P A T H ′ > > / e t c / p r o f i l e e c h o ′ P A T H = / u s r / l o c a l / m y s q l / b i n : / u s r / l o c a l / m y s q l / l i b : PATH' >> /etc/profile echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib: PATH>>/etc/profileechoPATH=/usr/local/mysql/bin:/usr/local/mysql/lib:PATH’ >> /etc/profile
source /etc/profile

8.初始化数据库
cd /usr/local/mysql/

bin/mysqld \
–initialize-insecure \
–user=mysql \
–basedir=/usr/local/mysql \
–datadir=/usr/local/mysql/data
Linux LNMP平台架构搭建
cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/

9.开启数据库
cd /lib/systemd/system/
systemctl start mysqld.service (mysqld.service可以用tab补全)
netstat -antp | grep 3306 (查看3306端口,mysql数据库默认端口是3306,在配置文件的时候端口也是3306)
Linux LNMP平台架构搭建

10.设置MySQL密码
mysqladmin -u root password
Linux LNMP平台架构搭建

11.登录MySQL数据库
mysql -u root -p
Linux LNMP平台架构搭建






安装PHP

1.安装环境依赖包
yum -y install \
libjpeg \
libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 \
libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

2.编译安装php
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd php-7.1.10

./configure \
–prefix=/usr/local/php \
–with-mysql-sock=/usr/local/mysql/mysql.sock \
–with-mysqli \
–with-zlib \
–with-curl \
–with-gd \
–with-jpeg-dir \
–with-png-dir \
–with-freetype-dir \
–with-openssl \
–enable-fpm \
–enable-mbstring \
–enable-xml \
–enable-session \
–enable-ftp \
–enable-pdo \
–enable-tokenizer \
–enable-zip
解释:
prefix=/usr/local/php (指定安装目录)
with-mysql-sock=/usr/local/mysql/mysql.sock (指向mysql连接文件)
with-mysqli (客户终端工具)
with-zlib (压缩库)
with-curl (一个利用URL语法在命令行下工作的文件传输工具)
with-gd (图像化处理)
with-jpeg-dir (jpeg格式图片)
with-png-dir (png格式图片)
with-freetype-dir (字体目录)
with-openssl (安全证书认证)
enable-fpm (进行动态请求的模块)
enable-mbstring (多字节字符串)
enable-xml (xml格式支持)
enable-session (网页会话)
enable-ftp (文件传输)
enable-pdo (通用接口)
enable-tokenizer (函数库)
enable-zip (压缩)
Linux LNMP平台架构搭建
make && make install



php有三个配置文件:php.ini(核心配置文件) php-fpm.conf(进城服务配置文件) www.conf(扩展配置文件)

cp php.ini-development /usr/local/php/lib/php.ini

vim /usr/local/php/lib/php.ini
修改这两个地方:
mysqli.default_socket = /usr/local/mysql/mysql.sock
Linux LNMP平台架构搭建

date.timezone = Asia/Shanghai
Linux LNMP平台架构搭建

/usr/local/php/bin/php -m (验证安装的模块)


3.配置优化FPM模块
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
将pid = run/php-fpm.pid前面的符号删除
Linux LNMP平台架构搭建

cd php-fpm.d/
cp www.conf.default www.conf

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

netstat -antp | grep 9000 (查看9000端口服务有没有开启)
Linux LNMP平台架构搭建

ln -s /usr/local/php/bin/* /usr/local/bin/

4.让nginx支持php功能
vim /usr/local/nginx/conf/nginx.conf
Linux LNMP平台架构搭建

5.重启nginx服务
systemctl stop nginx.service
systemctl start nginx.service

6.修改主页类型
cd /usr/local/nginx/html
mv index.html index.php
Linux LNMP平台架构搭建

vim index.php
清空里面的内容,输入下面内容:
<?php
phpinfo();
?>

在浏览器输入ip地址测试,比如我的IP地址为20.0.0.60,那么我在地址栏输入20.0.0.60/index.php
Linux LNMP平台架构搭建

到此,LNMP搭建完成。