• LNMP平台搭建



    一、Nginx服务搭建

    1、关闭防火墙

    systemctl stop firewalld		#关闭防火墙
    systemctl disable firewalld	#关闭开机自启
    Setenforce 0		#临时关闭增强机制
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    2、上传安装依赖包

    cd /opt/		#进入opt目录下
    安装软件包ngnix-1.12.2.tar.gz
    
    • 1
    • 2

    在这里插入图片描述

    3、安装依赖包

    yum -y install pcre-devel zlib-devel gcc gcc-c++ make
    
    • 1

    在这里插入图片描述

    4、配置文件

    ./configure \
    --prefix=/usr/local/nginx \						#指定nginx的安装路径
    --user=nginx \									#指定用户名
    --group=nginx \									#指定组名
    --with-http_stub_status_module			#启用 http_stub_status_module 模块以支持状态统计
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    5、编译与安装

    make && make install
    
    • 1

    在这里插入图片描述

    6、创建用户

    useradd -M -s /sbin/nologin nginx
    
    • 1

    在这里插入图片描述

    7、添加系统服务

    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		#启动
    ExecrReload=/bin/kill -s HUP $MAINPID		#重载
    ExecrStop=/bin/kill -s QUIT $MAINPID		#停止
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target					#启用多用户字符界面
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    8、赋权、重启服务

    chmod 754 /lib/systemd/system/nginx.service		#赋权
    systemctl start nginx.service			#开启服务
    systemctl enable nginx.service			#开机自启
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    9、启动服务验证

    可以通过curl http://192.168.223.13 进行访问,也可以通过网页访问
    在这里插入图片描述
    在这里插入图片描述


    二、MySQL数据库搭建

    1、上传安装软件包并解压

    在这里插入图片描述

    2、安装环境依赖包

    yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
    
    • 1

    在这里插入图片描述

    3、配置软件模块

    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \        #指定mysql的安装路径
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \  #指定mysql进程监听套接字文件(数据库连接文件)的存储路径           
    -DSYSCONFDIR=/etc \                            #指定配置文件的存储路径
    -DSYSTEMD_PID_DIR=/usr/local/mysql \             #指定进程文件的存储路径
    -DDEFAULT_CHARSET=utf8  \                     #指定默认使用的字符集编码,如 utf8
    -DDEFAULT_COLLATION=utf8_general_ci \            #指定默认使用的字符集校对规则
    -DWITH_EXTRA_CHARSETS=all \                    #指定支持其他字符集编码
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \           #安装INNOBASE存储引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \            #安装ARCHIVE存储引擎 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \          #安装BLACKHOLE存储引擎 
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \        #安装FEDERATED存储引擎 
    -DMYSQL_DATADIR=/usr/local/mysql/data \          #指定数据库文件的存储路径
    -DWITH_BOOST=/usr/local/boost \                 #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
    -DWITH_SYSTEMD=1                             #生成便于systemctl管理的文件
    
    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_EXTRA_CHARSETS=all \
    -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=/usr/local/boost \
    -DWITH_SYSTEMD=1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    在这里插入图片描述

    4、编译与安装

    make -j 2 && make install
    
    • 1

    在这里插入图片描述

    5、创建MySQL用户

    useradd -M -s /sbin/nologin  mysql
    
    • 1

    在这里插入图片描述

    6、修改配置文件

    vim /etc/my.cnf                           #删除原配置项,再重新添加下面内容
    
    [client]                                  #客户端设置
    port = 3306
    socket=/usr/local/mysql/mysql.sock      
    [mysqld]                                  #服务全局设置
    user = mysql                              #设置管理用户
    basedir=/usr/local/mysql                  #指定数据库的安装目录
    datadir=/usr/local/mysql/data             #指定数据库文件的存储路径
    port = 3306                               #指定端口
    character-set-server=utf8                 #设置服务器字符集编码格式为utf8
    pid-file = /usr/local/mysql/mysqld.pid    #指定pid 进程文件路径
    socket=/usr/local/mysql/mysql.sock        #指定数据库连接文件
    bind-address = 0.0.0.0                    #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
    skip-name-resolve                         #禁用DNS解析
    max_connections=2048                      #设置mysql的最大连接数
    default-storage-engine=INNODB             #指定默认存储引擎
    max_allowed_packet=16M                    #设置数据库接收的数据包大小的最大值
    server-id = 1                             #指定服务ID号
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    7、更改安装目录和配置文件的属主属组

    chown -R mysql:mysql /usr/local/mysql
    chown mysql:mysql /etc/my.cnf
    
    • 1
    • 2

    在这里插入图片描述

    8、设置环境变量

    echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
    source /etc/profile
    
    • 1
    • 2

    在这里插入图片描述

    9、数据库初始化

    cd /usr/local/mysql/bin/
    ./mysqld \
    --initialize-insecure \				#生成初始化密码为空
    --user=mysql \                      #指定管理用户
    --basedir=/usr/local/mysql \        #指定数据库的安装目录
    --datadir=/usr/local/mysql/data		#指定数据库文件的存储路径
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    10、添加mysqld系统服务

    cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/		#用于systemctl服务管理
    systemctl daemon-reload         #刷新识别     
    systemctl start mysqld.service  #开启服务
    systemctl enable mysqld         #开机自启动
    
    netstat -anpt | grep 3306       #查看端口并过滤3306使用状况
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述在这里插入图片描述

    11、修改登录密码

    mysqladmin -u root -p password "123456" 	#给root账号设置密码为123456,提示输入的是原始密码(为空)
    
    • 1

    在这里插入图片描述

    12、授权远程登陆

    mysql -u root -p
    >grant all privileges on *.* to 'root'@'%' identified by 'abc123';
    ##授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限
     
    >show databases;			#查看当前已有的数据库
    >exit						#退出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述


    三、编译安装PHP

    1、上传软件包并解压

    在这里插入图片描述

    2、安装GD库和关联程序

    ##用来处理和生成图片
    yum -y install \
    gd \
    libjpeg libjpeg-devel \
    libpng libpng-devel \
    freetype freetype-devel \
    libxml2 libxml2-devel \
    zlib zlib-devel \
    curl curl-devel \
    openssl openssl-devel
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    3、配置软件模块

    cd /opt
    cd /opt/php-7.1.24/
    
    ./configure \
    --prefix=/usr/local/php7 \							#指定将 PHP 程序的安装路径
    --with-apxs2=/usr/local/httpd/bin/apxs \			#指定Apache httpd服务提供的apxs 模块支持程序的文件位置
    --with-mysql-sock=/usr/local/mysql/mysql.sock \		#指定mysql 数据库连接文件的存储路径
    --with-config-file-path=/usr/local/php7				#设置 PHP 的配置文件 php.ini 将要存放的位置
    --with-mysqli \										#添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
    --with-zlib \										#支持zlib功能,提供数据压缩
    --with-curl \										#开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
    --with-gd \											#激活gd 库的支持
    --with-jpeg-dir \									#激活jpeg 的支持
    --with-png-dir \									#激活png 的支持
    --with-freetype-dir \
    --with-openssl \
    --enable-mbstring \									#启用多字节字符串功能,以便支持中文等代码
    --enable-xml \										#开启扩展性标记语言模块
    --enable-session \									#会话
    --enable-ftp \										#文本传输协议
    --enable-pdo \										#函数库
    --enable-tokenizer \								#令牌解释器
    --enable-zip										#ZIP压缩格式
    
    ./configure \
    --prefix=/usr/local/php7 \
    --with-apxs2=/usr/local/httpd/bin/apxs \
    --with-mysql-sock=/usr/local/mysql/mysql.sock \
    --with-config-file-path=/usr/local/php7 \
    --with-mysqli \
    --with-zlib \
    --with-curl \
    --with-gd \
    --with-jpeg-dir \
    --with-png-dir \
    --with-freetype-dir \
    --with-openssl \
    --enable-mbstring \
    --enable-xml \
    --enable-session \
    --enable-ftp \
    --enable-pdo \
    --enable-tokenizer \
    --enable-zip
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    在这里插入图片描述

    4、编译与安装

    make && make install
    
    • 1

    在这里插入图片描述

    5、复制模板文件作为PHP的主配置文件并修改

    cp /opt/php-7.1.24/php.ini-development /usr/local/php/php.ini	
    #在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件
    
    vim /usr/local/php/lib/php.ini
    
     --939行--取消注释,修改
    date.timezone = Asia/Shanghai
    --1170行--修改
    mysqli.default_socket = /usr/local/mysql/mysql.sock
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6、优化把PHP的可执行程序文件放入路径环境变量的目录中便于系统识别

    ln -s /usr/local/php/bin/* /usr/local/bin/
    php -m 			#查看PHP 加载了哪些模块
    
    • 1
    • 2

    在这里插入图片描述

    7、修改服务的配置文件以支持PHP

     cp php-fpm.conf.default  php-fpm.conf		#复制一个默认配置文件
    
    ---17行取消注释
    pid = run/php-fpm.pid
    
    扩展配置文件备份
    cd /usr/local/php/etc/php-fpm.d/
    cp www.conf.default www.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    8、启动php-fpm

    ln -s /usr/local/php/sbin/* /usr/local/sbin		#创建软连接
    /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
    netstat -anpt | grep 9000	#过滤端口查询
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    9、修改Nginx服务配置文件以支持PHP

    vim /usr/local/nginx/conf/nginx.conf
    
    ---70行开始取消注释
    location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    	fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
    	include        fastcgi_params;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    10、验证PHP测试页

    rm -rf /usr/local/httpd/htdocs/index.html
    vim /usr/local/httpd/htdocs/index.php
    <?php
    phpinfo();
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    11、重启服务器systemctl restart httpd.service

    通过浏览器访问
    http://192.168.223.13/index/php #访问指定IP地址

    在这里插入图片描述

    四、论坛搭建

    1、上传压缩包并解压

    unzip Discuz_X3.4_SC_UTF8.zip  -d /opt/dis
    
    • 1

    在这里插入图片描述

    2、将论坛程序拷贝到nginx/html下

    cd /opt/dis/dir_SC_UTF8/
    cp -r upload/ /usr/local/nginx/html/bbs/  
    
    • 1
    • 2

    3、修改Nginx属主

    chown -R nginx ./config
    chown -R nginx ./data
    chown -R nginx ./uc_client
    chown -R nginx ./uc_server/data
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    4、创建论坛数据库

    mysql -u root -p	#登录数据库
    mysql> CREATE DATABASE bbs;	#创建bbs数据库
    mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY '123456';	#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码
    mysql>flush privileges;	#刷新数据库
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    5、安装论坛

    注意:
    论坛安装页面为:192.168.223.13/bbs/install/index.php
    网页访问地址为:192.168.223.13/bbs/index.php
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6、创建用户登录测试

    在这里插入图片描述

  • 相关阅读:
    SQLi-LABS Page-2 (Adv Injections)
    Vue3应用API——component、directive
    三维卡通数字人解决方案,支持unity和Maya
    Arch更新报错?
    ROS2支持技术:DDS简述
    Docker的安装
    STM32实战总结:HAL之IAP
    分类算法系列④:朴素贝叶斯算法
    WebDAV之葫芦儿·派盘+简悦
    JS算法练习 11.20
  • 原文地址:https://blog.csdn.net/weixin_51099370/article/details/124887805