搭建LNMP服务(Nginx、Mysql、Php)

一、搭建LNMP服务

准备好LNMP所需安装包
在这里插入图片描述

1.搭建Nginx服务

Nginx所需安装包
在这里插入图片描述
1.关闭防火墙,防止开启自启动

systemctl  stop   firewalld
setenforce  0
systemctl  disable  firewalld

[root@server1 ~]# sed -i '/SELINUX/s/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@server1 ~]# grep -v "#" /etc/selinux/config

2.安装依赖包

[root@server1 ~]# yum -y install \
 gcc \
gcc-c++ \
 make \
 pcre-devel \            #是perl语言的正则表达式
 zlib-devel \            #软件包的开发包,一个函数库,库里面包括头文件、静态库甚至源码等资源

3.创建一个不可登陆用户

[root@server1 ~]# useradd -M -s /sbin/nologin nginx

4.解压nginx软件包

[root@server1 ~]# tar zxvf nginx-1.12.2.tar.gz 

5.配置nginx

[root@server1 ~]# cd nginx-1.12.2/
[root@server1 nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \ 
--user=nginx \                       #指定其运行时的账户与组
--group=nginx \
--with-http_stub_status_module    #将状态模块启用

6.编译安装

make   &&   make   install   

7.建立软链接,检查语法

[root@server1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     #软链接
[root@server1 nginx-1.12.2]# nginx -t      #检查语法
[root@server1 nginx-1.12.2]# nginx            #重启服务
[root@server1 nginx-1.12.2]# netstat -anpt | grep nginx   #查看服务端口状态
[root@server1 nginx-1.12.2]# killall -1 nginx     #安全重启
[root@server1 nginx-1.12.2]# killall -3 nginx     #停止服务

在这里插入图片描述
8.制作管理脚本

vi  /etc/init.d/nginx

#!/bin/bash
#chkconfig:35 76 21
#description:Nginx Service Control
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
     start)
       $PROG
     ;;
     stop)
       kill -s QUIT $(cat $PIDF)
     ;;
     restart)
       $0 stop
       $0 start
     ;;
     reload)
       kill -s HUP $(cat $PIDF)
     ;;
     *)
         echo "Usage: $0 {start|stop|restart|reload}"
         exit 1
esac
exit 0    

在这里插入图片描述

9.给脚本文件授权、设置chkconfig管理nginx服务

[root@server1 ~]# chmod +x /etc/init.d/nginx
[root@server1 ~]# chkconfig --add nginx
[root@server1 ~]# chkconfig --list

在这里插入图片描述

2.搭建Mysql服务

准备Mysql安装包
在这里插入图片描述
1.安装依赖包

 yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

2.创建不可登陆用户

[root@server1 ~]# useradd -s /sbin/nologin mysql

3.解压Mysql软件包

tar -zxvf mysql-boost-5.7.20.tar.gz

4.cmake配置

[root@server1 ~]#cd mysql-5.7.20/
[root@server1 mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \              #安装目录 安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   #指定套接字文件的存储路径套接字:客户端访问mysql数据库的一个接口
-DSYSCONFDIR=/etc \                                     #配置my. cnf的目录 配置文件路径,(根目录)
-DSYSTEMD_PID_DIR=/usr/local/mysql \          #主服务进程所在路径 (进程文件目录)
-DDEFAULT_CHARSET=utf8 \                           #默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \      #默认编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \     #启用InnoDB引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \        #启用ARCHIVE引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \   #启用BLACKHOLE引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \  #启用perfschema引擎
-DMYSQL_DATADIR=/usr/local/mysql/data \    #数据存储路径  (数据库目录)
-DWITH_BOOST=boost \              #boost库是为C++语言标准库提供扩展的一些C++程序库的总称
-DWITH_SYSTEMD=1                 #这是mysql5.7原生支持systemd的选项,如果用systemctl启动,就必须开启     

5.编译安装

make && make install

6.编辑配置文件

[root@server1 ~]# 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

7.数据库权限配置,属主,属组

[root@server1 mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
[root@server1 mysql-5.7.20]# chown mysql:mysql /etc/my.cnf

8.设置环境变量(重定向输入环境,赋值)

[root@server1 ~]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@server1 ~]# source /etc/profile
[root@server1 ~]# echo $PATH

在这里插入图片描述
9.初始化数据库

[root@server1 ~]# mysqld \
--initialize-insecure \             #生成一个空密码,不配置系统会自动生成一个密码
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

在这里插入图片描述
10.拷贝文件并服务启动

[root@server1 ~]# cd /usr/local/mysql/
[root@server1 mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
[root@server1 mysql]# cd
[root@server1 ~]# systemctl enable mysqld
[root@server1 ~]# systemctl start mysqld
[root@server1 ~]# systemctl status mysqld

11.设置密码

[root@server1 ~]# mysqladmin -uroot -p password 'fa123'
[root@server1 ~]# mysql -uroot -p

在这里插入图片描述

3.搭建PHP服务

准备php安装包
在这里插入图片描述
1.yum安装依赖环境

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.解压依赖包

tar -jxvf php-7.1.10.tar.bz2

3.configure配置

[root@server1 ~]# cd php-7.1.10/
[root@server1 php-7.1.10]# ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/lcoal/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

4.编译安装

make && make install

5.编辑配置文件

[root@server1 php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini

在这里插入图片描述

[root@server1 php-7.1.10]# vi /usr/local/php/lib/php.ini 
[root@server1 php-7.1.10]# /usr/local/php/bin/php -m | wc -l    #查看安装的模块数

添加:
  mysqli.default_socket = /usr/local/mysql/mysql.sock

在这里插入图片描述

添加:
  date.timezone = Asia/Shanghai

在这里插入图片描述

6.配置及优化FPM模块

[root@server1 php-7.1.10]# cd
[root@server1 ~]# cd /usr/local/php/etc/
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# cd /usr/local/php/etc/php-fpm.d/
[root@server1 php-fpm.d]# cp www.conf.default www.conf
[root@server1 php-fpm.d]# cd /usr/local/php/etc/
[root@server1 etc]# vi php-fpm.conf
[root@server1 etc]# cd

pid  =  run/php-fpm.pid       #去掉;

在这里插入图片描述

6.1 启动fpm模块

php启动时,启动php-fpm模块,模块启动时会生成9000号端口,即FastCGI接口
[root@server1 ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini      #手动启动
[root@server1 ~]# netstat -anpt | grep 9000

在这里插入图片描述

6.2 创建链接

 #让/usr/local/php/bin下生成的所有命令都链接到/use/bin下
[root@server1 ~]# ln -s /usr/local/php/bin/* /usr/bin/
  1. 让Nginx支持PHP功能
[root@server1 ~]# vi /etc/nginx.conf 
[root@server1 ~]# nginx -t
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx

添加、取消注释
在这里插入图片描述
7.2 创建php网页

[root@server1 ~]# vi /usr/local/nginx/html/index.php
编写:
<?php
  phpinfo();
?>

测试:
20.0.0.13/index.php
在这里插入图片描述

3.1 测试数据库

1.配置数据库

[root@server1 ~]# mysql -u root -pfa123
mysql> create database fa;                      #创建数据库
mysql>  grant all privileges on fa.* to 'fauser'@'localhost' identified by 'admin123';    #本地授权
mysql> grant all privileges on fa.* to 'fauser'@'%' identified by 'admin123';        #远程授权
mysql> flush privileges;         #刷新
mysql> show databases;           #查看数据库表

在这里插入图片描述

2.配置php网页

[root@server1 ~]# vi /usr/local/nginx/html/index.php 
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl starts nginx

$link        变量
mysql_connect    连接信息
20.0.0.13      本机地址
fauser        数据库登录名
admin123    登录密码

编写:
<?php 
  $link=mysql_connect('20.0.0.13','fauser','admin123');
  if($link) echo "<h1>Sucess!</h1>";
  else echo "Fail!";
?>

在这里插入图片描述

测试:
20.0.0.13/index.php
在这里插入图片描述

四、部署论坛

准备好安装包
在这里插入图片描述
1.解压安装包

unzip Discuz_X3.4_SC_UTF8.zip

2.给论坛的文件加权限

[root@server1 ~]# cd dir_SC_UTF8/
[root@server1 dir_SC_UTF8]# cp -r upload/ /usr/local/nginx/html/fa
[root@server1 dir_SC_UTF8]# cd /usr/local/nginx/html/fa
[root@server1 fa]# chown -R root.nginx ./config/
[root@server1 fa]# chown -R root.nginx ./data/
[root@server1 fa]# chown -R root.nginx ./uc_server/
[root@server1 fa]# chown -R root.nginx ./uc_client/
[root@server1 fa]# chmod -R 777 ./config
[root@server1 fa]# chmod -R 777 ./data/
[root@server1 fa]# chmod -R 777 ./uc_server/
[root@server1 fa]# chmod -R 777 ./uc_client/

安装论坛:

http://20.0.0.13/fa/install/index.php
数据库服务器:localhost
数据库名字:fa
数据库用户名:fauser
数据库密码:admin123
管理员账号:root
管理员密码:123456

在这里插入图片描述
这一步当前状态必须是可写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
论坛安装完毕

登录论坛
http://20.0.0.13/fa/index.php
用户账号密码是管理员
root
123456
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/F2001523/article/details/110408744
今日推荐