LNMP生产环境部署

LNMP生产环境部署

一.初始化设置

1.防火墙初始化操作

永久关闭防火墙(开机不自启动)
systemctl disable firewalld	

2.selinux永久禁止

永久关闭
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

3.修改主机名

hostnamectl set-hostname lnmp

image-20240805113217469

4.上传源码包及项目

image-20240805113001585

二.编译安装MySQL

1.清理安装环境

 yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
 userdel -r mysql
 rm -rf /etc/my*
 rm -rf /var/lib/mysql

2.创建一个MySQL用户

useradd -r mysql  -s /sbin/nologin
创建一个系统用户,不为其创建家目录,不能登录

image-20240805114715020

3.安装编译工具

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make glibc automake autoconf
yum -y install cmake

4.解压缩上传的MySQL包

tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/

5.编译安装

cd 解压的mysql目录

[root@lnmp ~]# cd /usr/local/mysql-5.7.27/
[root@lnmp mysql-5.7.27]# cmake . \

> -DWITH_BOOST=boost/boost_1_59_0/ \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DINSTALL_MANDIR=/usr/share/man \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1

image-20240805140628584

[root@lnmp mysql-5.7.27]# make && make install

image-20240805153255128

6.MySQL的初始化设置

1.进入到MySQL目录更改目录权限
[root@lnmp mysql-5.7.27]# cd /usr/local/mysql
[root@lnmp mysql]# chown -R mysql.mysql .
[root@lnmp mysql]# ll

屏幕截图 2024-08-05 154443

[root@lnmp mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

屏幕截图 2024-08-05 154502

初始化完成之后,得到密码’pso/W##K1tp7’,复制密码时勿将冒号后的空格复制进来!!!

7.设置环境变量

[root@lnmp mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@lnmp mysql]# source /etc/profile
[root@lnmp mysql]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@lnmp mysql]# vim /etc/my.cnf
[root@lnmp mysql]# echo $?
0

image-20240805155307600

8.启动MySQL

1.启动并后台运行MySQL

image-20240805161455382

2.设置MySQL开机自启

1.1拷贝启动脚本到/etc/init.d/目录下,并改名mysqld
[root@lnmp mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@lnmp mysql]# ls -l /etc/init.d/mysqld
-rwxr-xr-x 1 root root 10576 8月   5 16:29 /etc/init.d/mysqld

1.2重新加载系统服务
[root@lnmp mysql]# systemctl daemon-reload

1.3启动MySQL数据库,并检查端口监听状态
[root@lnmp mysql]# ss -lntp | grep 3306
LISTEN     0      80        [::]:3306                  [::]:*                   users:(("mysqld",pid=1572,fd=28))

1.4添加为服务并查看服务列表
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list

image-20240805163755327

看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:
chkconfig --level 345 mysqld on

3.检验MySQL开机自启

重启计算机:reboot
再次查看服务列表或者查看3306端口号

image-20240805160202468

9.修改MySQL密码

修改MySQL密码
/usr/local/mysql/bin/mysqladmin -uroot -p'pso/W##K1tp7' password 1
验证密码是否修改成功
mysql -uroot -p1

image-20240805160716220

三.编译安装Nginx

1、安装编译 Nginx 依赖包

[root@lnmp ~]# yum -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel

2.创建 Nginx 运行用户

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

3.解压配置 Nginx 编译

[root@lnmp nginx-1.22.1]# tar zxvf nginx-1.22.1.tar.gz -C /usr/local/
[root@lnmp nginx-1.22.1]# cd /usr/local/nginx-1.22.1/
[root@lnmp nginx-1.22.1]# ./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/sbin/nginx \
--error-log-path=/var/log/nginx/nginx_error.log \
--http-log-path=/var/log/nginx/nginx_access.log \
--pid-path=/usr/local/nginx/run/nginx.pid

4.Nginx 编译安装并测试

[root@lnmp nginx-1.22.1]# make && make install
[root@lnmp nginx-1.22.1]# nginx -V

image-20240805171207903

5.启动 Nginx 服务并验证服务是否启动成功

[root@lnmp nginx-1.22.1]# /usr/sbin/nginx
[root@lnmp nginx-1.22.1]# ss -lntp | grep nginx 
LISTEN     0      128          *:80                       *:*                   users:(("nginx",pid=4355,fd=6),("nginx",pid=4354,fd=6))

6、系统添加 Nginx 服务

1.创建 nginx.service 文件

[root@lnmp nginx-1.22.1]# vim /lib/systemd/system/nginx.service

屏幕截图 2024-08-05 190313

2.以 systemctl 方式启动 Nginx并查看服务状态

image-20240805190542251

3.验证 Nginx 服务是否成功启动

[root@lnmp nginx-1.22.1]# ss -lntp | grep nginx

4.配置 Nginx 服务自动启动

[root@lnmp nginx-1.22.1]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

5.查看Nginx默认界面

image-20240805191003575

Nginx安装成功!!!

四.编译安装Php

1.安装编译环境依赖包

[root@lnmp ~]]# yum -y install gcc gcc-c++ glibc automake autoconf libtool make

2.安装编译 php 依赖库

[root@lnmp ~]# yum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel 

3.给libzip升级

[root@lnmp ~]# tar -xf libzip-1.3.2.tar.gz 
[root@lnmp ~]# cd libzip-1.3.2/

编译安装libzip
[root@lnmp libzip-1.3.2]# ./configure && make && make install

4.配置 Php 编译

[root@lnmp ~]# tar xzvf php-7.3.6.tar.gz -C /usr/local/
[root@lnmp ~]#  cd /usr/local/php-7.3.6/
[root@lnmp php-7.3.6]# ./configure \
>     --prefix=/usr/local/php7 \
>     --with-config-file-path=/usr/local/php7 \
>     --with-config-file-scan-dir=/usr/local/php7/php.d \
>     --enable-mysqlnd \
>     --with-mysqli \
>     --with-pdo-mysql \
>     --enable-fpm \
>     --with-fpm-user=nginx \
>     --with-fpm-group=nginx \
>     --with-gd \
>     --with-iconv \
>     --enable-xml \
>     --enable-shmop \
>     --enable-sysvsem \
>     --enable-inline-optimization \
>     --enable-mbregex \
>     --enable-mbstring \
>     --enable-ftp \
>     --enable-zip \
>     --with-openssl \
>     --with-zlib \
>     --with-libzip \
>     --enable-pcntl \
>     --enable-sockets \
>     --with-xmlrpc \
>     --enable-soap \
>     --without-pear \
>     --with-gettext \
>     --enable-session \
>     --with-curl \
>     --with-jpeg-dir \
>     --with-freetype-dir \
>     --enable-opcache

5.编译安装 Php

[root@lnmp php-7.3.6]# make && make install

image-20240805194235352

6.创建 php.ini 配置文件

[root@lnmp php-7.3.6]# cp php.ini-production /usr/local/php7/etc/php.ini
[root@lnmp php-7.3.6]# vim /usr/local/php7/etc/php.ini +1371
将注释打开   1371 session.save_path = "/tmp"

image-20240805194546441

7.设置php-fpm配置文件

[root@lnmp php-7.3.6]# cd /usr/local/php7/etc
[root@lnmp etc]# cp php-fpm.conf.default php-fpm.conf
[root@lnmp etc]# vim php-fpm.conf +17
将注释取消并修改
pid = /var/run/php-fpm.pid 

image-20240805194938729

# php-fpm连接文件
[root@lnmp etc]# cd /usr/local/php7/etc/php-fpm.d/
[root@lnmp php-fpm.d]#  cp www.conf.default www.conf  #php-fpm子配置文件
[root@lnmp php-fpm.d]#  vim www.conf
user = nginx
group = nginx
listen = 127.0.0.1:9000

image-20240805195226406

默认值与上相同,则不用修改。

8.启动 php-fpm与检查是否成功启动

[root@lnmp php-fpm.d]# /usr/local/php7/sbin/php-fpm
[root@lnmp php-fpm.d]# ps aux | grep php-fpm
root      14082  0.0  0.0 222276  6460 ?        Ss   19:54   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
nginx     14083  0.0  0.0 222276  5956 ?        S    19:54   0:00 php-fpm: pool www
nginx     14084  0.0  0.0 222276  5956 ?        S    19:54   0:00 php-fpm: pool www
root      14086  0.0  0.0 112824   988 pts/0    S+   19:54   0:00 grep --color=auto php-fpm

9.配置 php-fpm 系统环境变量并重载

[root@lnmp ~]# vim /etc/profile
export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin
source /etc/profile

10.配置 php-fpm 开机自启动

[root@lnmp ~]# vim /lib/systemd/system/php-fpm.service

image-20240805200341584

重载 systemctl 配置
[root@lnmp ~]# systemctl daemon-reload

停止 php-fpm
[root@lnmp ~]# pkill php-fpm

用 systemctl 启动 php-fpm
[root@lnmp ~]# systemctl start php-fpm.service

设置 php-fpm 开机启动
[root@lnmp ~]# systemctl enable php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

五.Nginx 配置支持PHP

1、添加 Nginx 配置

[root@lnmp ~]# cd /etc/nginx/
[root@lnmp nginx]# vim nginx.conf

image-20240805203057889

image-20240805203258551

2.添加 php 探测文件

[root@lnmp nginx]# cd /usr/local/nginx/html/
[root@lnmp html]#  vim index.php
<?php
phpinfo();
?>
不中断重新加载配置文件
[root@lnmp nginx]# nginx -s reload

image-20240805203816676

Nginx 关联 php-fpm成功!!!

六.基于LNMP环境上线wordpress

[root@lnmp ~]# tar xzvf wordpress-5.9.1-zh_CN.tar.gz
[root@lnmp ~]# rm -rf /usr/local/nginx/html/*

#将代码拷贝到网站发布目录中
[root@lnmp ~]# cp -r wordpress/* /usr/local/nginx/html/

#更改nginx所代理项目的属主和属组
chown -R nginx.nginx /usr/local/nginx/html/

#创建数据库
[root@lnmp ~]# /usr/local/mysql/bin/mysql -uroot -p1
mysql> create database wordpress default charset 'utf8';
Query OK, 1 row affected (0.01 sec)

测试访问

image-20240805205234464

image-20240805205817643

image-20240805205831747

image-20240805210025851

image-20240805210040927

image-20240805210107948

image-20240805210157339

项目发布成功!!!

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值