LNMP环境部署WordPress——使用源码包安装方式部署环境

目录

一.前提准备

二.源码安装Mysql 

1.MySQL类型

2.MySQL 版本说明

3.MySQL 安装方式

3.1 yum 安装

3.2 编译安装

3.3 二进制安装

3.4 rpm 安装

4. 编译安装MySQL5.7

4.1 清理安装环境

4.2 创建mysql用户

4.3 从官网下载tar包

4.4 安装编译工具

4.5 解压

4.6 编译安装

4.7 初始化 

4.8 配置环境变量 

4.9 启动mysql

4.10 登录mysql

4.11 systemctl启动方式

4.12 创建需要的库

三. 编译安装Nginx

1 清理Nginx安装环境

 2 创建Ngixn用户

3 官网下载 Nginx 安装包

4  安装编译 Nginx 依赖包

5 解压配置 Nginx 编译

6 Nginx 编译安装

7 测试 Nginx 是否安装成功

8 启动 Nginx 服务 

9 验证 Nginx 服务是否启动成功

10 系统添加 Nginx 服务

10.1 创建 nginx.service 文件

10.2 以 systemctl 方式启动 Nginx

10.3 查看 Nginx 服务状态

10.4  验证 Nginx 服务是否成功启动

10.5 配置 Nginx 服务自动启动

 四. 编译安装 PHP

 1. 清理环境,防止冲突

2. 安装编译环境依赖包

3. 安装编译 PHP 依赖库

4. 编译安装 PHP

4.1 下载 PHP 源码包

4.2 配置 Php 编译

4.3 编译安装 PHP

5. 创建 php.ini 配置文件

6. 设置php-fpm配置文件

7. 启动 php-fpm

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

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

10. 重载环境变量

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

12. 重载 systemctl 配置

13. 停止 php-fpm

14. 用 systemctl 启动 php-fpm

15. 设置 php-fpm 开机启动

16. php-fpm 管理命令

 五. Nginx 配置支持PHP

1、添加 Nginx 配置

2、添加 PHP 探测文件

3. 验证 Nginx 关联 php-fpm 

3.1 重启 php-fpm

3.2 重载 Nginx 配置

 3. 测试PHP与数据库连通性

4. 访问验证

六. 基于LAMP环境上线WordPress

续篇——源码部署LAMP环境上线项目——禅道项目-CSDN博客


一.前提准备

1.安装一个centos7虚拟机

2.配置yum源(这里我用阿里源)

3.关闭防火墙和SEliunx

4.下载常用的工具包 

5.设置一个静态IP(可选操作)

这些初始化操作都是常用的,这里不在赘述。本文重点学习使用源码安装mysql,nginx,php。

二.源码安装Mysql 

1.MySQL类型

  • MySQL Community Server

MySQL Community Server是社区版本,开源免费,但不提供官方技术支持。MySQL Community Server也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本。

  • MySQL Enterprise Edition

MySQL Enterprise Edition企业版本,需付费,可以试用30天。

  • MySQL Cluster

MySQL Cluster集群版,开源免费。可将几个MySQL Server封装成一个Server。MySQL Cluster CGE 高级集群版,需付费。

2.MySQL 版本说明

以 MySQL 5.7.27 这个版本的版本号为例说明每个数字含义。

第一个数字(5)主版本号:文件格式改动时,将作为新的版本发布;
第二个数字(7)发行版本号:新增特性或者改动不兼容时,发行版本号需要更改;
第三个数字(27)发行序列号:主要是小的改动,如bug的修复、函数添加或更改、配置参数的更改等。

3.MySQL 安装方式

3.1 yum 安装

优点:操作简单易用。不用单独下载,服务器可以联网且yum源没有问题即可(可以选择国内的163/阿里源)

3.2 编译安装

5.1.X 及之前的版本是通过下载tar包以后解压后进入软件包解压路径。然后./configure、make、make install
​
5.4.X 到 5.7.X 通过下载tar包以后解压后进入软件包解压路径。然后 cmake、make、make install(cmake需要提前安装)
​
优点:可以定制功能特性。

3.3 二进制安装

官方下载二进制包,解压初始化即可直接使用不用安装。

3.4 rpm 安装

需要提前下载 rpm 软件包上传到服务器系统本地。
使用 rpm 或者 yum 命令直接安装

4. 编译安装MySQL5.7

4.1 清理安装环境

#用于完全卸载 Mariadb 数据库并清理相关的文件和用户,清理系统可能带有的残留
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql

4.2 创建mysql用户

#这两个操作选择其中一个就可以拉

[root@localhost ~]# useradd mysql -M -s /bin/nologin
-M 不创建用户的家目录
[root@localhost ~]# useradd -r mysql  -s /bin/nologin
-r 选项表示创建一个系统用户,也被称为系统账户。使用useradd -r命令创建系统用户时,会自动分配一个较高的用户ID(UID)和组ID(GID),并且不会为其创建家目录。

4.3 从官网下载tar包

[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

4.4 安装编译工具

[root@localhost ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make glibc automake autoconf net-tools

[root@localhost ~]# yum -y install cmake

4.5 解压

[root@localhost ~]# tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/

4.6 编译安装

cd 解压的mysql目录 

[root@localhost ~]# cd /usr/local/mysql-5.7.27/
[root@localhost 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

 参数详解:


-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 \  sock文件位置,用来做网络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8 \    默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all \   扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \  支持的
-DWITH_READLINE=1 \    上下翻历史命令
-DWITH_SSL=system \    使用私钥和证书登陆(公钥)  可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1 \   嵌入式数据库
-DENABLED_LOCAL_INFILE=1 \    从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1  默认的存储引擎,支持外键

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

这个编译安装的时间会很长,一般20-30分钟,耐心等待。 

 注:如果安装出错,想重新安装:
        不用重新解压,只需要删除安装目录中的缓存文件CMakeCache.txt

4.7 初始化 

初始化,只需要初始化一次

[root@localhost mysql-5.7.27]# cd /usr/local/mysql
[root@localhost mysql]# chown -R mysql.mysql .
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data    
#初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码

4.8 配置环境变量 

[root@localhost mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@mysql-server ~]# vim /etc/my.cnf  
#如果打开文件有内容将文件中所有内容注释掉,在添加如下内容

[client]
port = 3306                      # 默认连接端口
socket = /tmp/mysql.sock         # 用于本地连接的socket套接字
default-character-set = utf8     # 编码

[mysqld]
port = 3306                      # 服务端口号,默认3306
user = mysql                     # mysql启动用户
basedir = /usr/local/mysql       #指定安装目录
datadir = /usr/local/mysql/data  #指定数据存放目录
socket = /tmp/mysql.sock         # 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
character_set_server = utf8      # 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)

4.9 启动mysql

[root@mysql-server ~]# cd /usr/local/mysql
[root@mysql-server mysql]# ./bin/mysqld_safe --user=mysql &

#启动之后再按一下回车!即可后台运行

4.10 登录mysql

[root@localhost mysql]# mysql -u root -p'TM>#jcd_P63n'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.27

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>exit                           #退出
Bye

 修改密码为1234方便登录用

[root@localhost mysql]# mysqladmin -uroot -p'TM>#jcd_P63n' password '1234'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

4.11 systemctl启动方式

拷贝启动脚本到/etc/init.d/目录下,并改名mysqld

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# ls -l /etc/init.d/mysqld
-rwxr-xr-x 1 root root 10576 5月  11 13:05 /etc/init.d/mysqld

重新加载系统服务

[root@localhost mysql]# systemctl daemon-reload

启动MySQL数据库,并检查端口监听状态

[root@localhost mysql]# systemctl stop mysqld 
[root@localhost mysql]# systemctl start mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      32289/mysqld        
[root@localhost mysql]# systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: active (exited) since 六 2024-05-11 13:05:53 CST; 58s ago
     Docs: man:systemd-sysv-generator(8)

5月 11 13:05:53 localhost.localdomain systemd[1]: Starting LSB: start and stop MySQL...
5月 11 13:05:53 localhost.localdomain mysqld[32394]: Starting MySQL SUCCESS!
5月 11 13:05:53 localhost.localdomain systemd[1]: Started LSB: start and stop MySQL.
5月 11 13:05:53 localhost.localdomain mysqld[32394]: 2024-05-11T05:05:53.769772Z mysqld_safe A mysqld process already exists
[root@localhost mysql]#

4.12 创建需要的库

[root@localhost mysql]# mysql -u root -p1234
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.27 Source distribution

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database wordpress;
Query OK, 1 row affected (0.01 sec)

mysql> grant all on *.* to 'remote'@'%' identified by '1234';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@localhost ~]# 

三. 编译安装Nginx

1 清理Nginx安装环境

yum remove nginx -y
userdel -r nginx
rm -rf /etc/nginx*
rm -rf /var/lib/nginx*

 2 创建Ngixn用户

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

3 官网下载 Nginx 安装包

[root@localhost ~]# wget https://nginx.org/download/nginx-1.22.1.tar.gz

4  安装编译 Nginx 依赖包

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

5 解压配置 Nginx 编译

[root@localhost ~]# tar zxvf nginx-1.22.1.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/nginx-1.22.1/
[root@localhost 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

6 Nginx 编译安装

[root@localhost nginx-1.22.1]#  make && make install

7 测试 Nginx 是否安装成功

[root@localhost nginx-1.22.1]# nginx -V
nginx version: nginx/1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
configure arguments: --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
[root@localhost nginx-1.22.1]# 

8 启动 Nginx 服务 

[root@localhost ~]# /usr/sbin/nginx

9 验证 Nginx 服务是否启动成功

[root@localhost ~]# netstat -lntp | grep nginx 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      35664/nginx: master 

10 系统添加 Nginx 服务

 以 systemd 形式添加

10.1 创建 nginx.service 文件
[root@localhost ~]# vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间


注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

10.2 以 systemctl 方式启动 Nginx
[root@localhost ~]# pkill nginx
[root@localhost ~]# systemctl daemon-reload 
[root@localhost ~]# systemctl start nginx
10.3 查看 Nginx 服务状态
[root@localhost ~]# ps -ef | grep nginx
root      35721      1  0 14:49 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     35722  35721  0 14:49 ?        00:00:00 nginx: worker process
root      35724   1460  0 14:49 pts/0    00:00:00 grep --color=auto nginx
10.4  验证 Nginx 服务是否成功启动
[root@localhost ~]# netstat -ntlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      35721/nginx: master 
10.5 配置 Nginx 服务自动启动
[root@localhost ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

 四. 编译安装 PHP

 1. 清理环境,防止冲突

[root@localhost ~]# yum -y remove php
已加载插件:fastestmirror
参数 php 没有匹配
不删除任何软件包
[root@localhost ~]# userdel -r php
userdel:用户“php”不存在

2. 安装编译环境依赖包

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

3. 安装编译 PHP 依赖库

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

4. 编译安装 PHP

4.1 下载 PHP 源码包

[root@localhost ~]# wget https://www.php.net/distributions/php-7.3.6.tar.gz
[root@localhost ~]# wget https://libzip.org/download/libzip-1.3.2.tar.gz
[root@localhost ~]# tar -xf libzip-1.3.2.tar.gz
[root@localhost ~]# cd  libzip-1.3.2/
[root@localhost libzip-1.3.2]# ./configure


[root@localhost libzip-1.3.2]# make && make install

4.2 配置 Php 编译

[root@localhost libzip-1.3.2]# cd ~
[root@localhost ~]# tar xzvf php-7.3.6.tar.gz -C /usr/local/

[root@localhost ~]# cd /usr/local/php-7.3.6/
[root@localhost 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

参数解释: 

--prefix=/usr/local/php7         # 配置安装目录
--with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路径
--enable-sockets                 # 开启 socket 
--enable-fpm                     # 启用 fpm 扩展
--enable-cli                     # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)
--enable-mbstring                 # 启用 mbstring 库
--enable-pcntl                     # 启用 pcntl (仅 CLI / CGI)
--enable-soap                     # 启用 soap 
--enable-opcache                 # 开启 opcache 缓存
--disable-fileinfo                 # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)
--disable-rpath                  # 禁用在搜索路径中传递其他运行库。
--with-mysqli                     # 启用 mysqli 扩展
--with-pdo-mysql                 # 启用 pdo 扩展
--with-iconv-dir                 # 启用 XMLRPC-EPI 字符编码转换 扩展
--with-openssl                     # 启用 openssl 扩展 (需要 openssl openssl-devel)
--with-fpm-user=nginx             # 设定 fpm 所属的用户 
--with-fpm-group=nginx             # 设定 fpm 所属的组别
--with-curl                     # 启用 curl 扩展
--with-mhash                     # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库
# GD
--with-gd                         # 启用 GD 图片操作 扩展
--with-jpeg-dir                 # 开启对 jpeg 图片的支持 (需要 libjpeg)
--with-png-dir                     # 开启对 png 图片支持 (需要 libpng)
--with-freetype-dir             # 开启 freetype 

# xml
--enable-simplexml                 # 启用对 simplexml 支持
--with-libxml-dir                 # 启用对 libxml2 支持

--enable-debug                     # 开启 debug 模式

4.3 编译安装 PHP

[root@localhost php-7.3.6]# make -j 4 && make install
#这里make -j 4 是指定4个核去执行,多则快

这里也会很慢,大约要30分钟。

5. 创建 php.ini 配置文件

[root@localhost php-7.3.6]# cp php.ini-production /usr/local/php7/etc/php.ini

#php的Session存储目录,将这行的注释 ; 号给删除即可,然后保存退出
[root@localhost php-7.3.6]# vim /usr/local/php7/etc/php.ini +1371 

6. 设置php-fpm配置文件

[root@qfedu.com php-7.3.6]# cd /usr/local/php7/etc
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# vim php-fpm.conf +17

#将注释取消并修改
pid = /var/run/php-fpm.pid

# php-fpm连接文件
[root@localhost etc]# cd /usr/local/php7/etc/php-fpm.d/

#php-fpm子配置文件
[root@localhost php-fpm.d]# cp www.conf.default www.conf
[root@localhost php-fpm.d]# vim www.conf

检查这个文件里对不对,分别在23,24,36行,具体可见下图:
user = nginx
group = nginx
listen = 127.0.0.1:9000

7. 启动 php-fpm

[root@localhost php-fpm.d]# /usr/local/php7/sbin/php-fpm

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

[root@localhost php-fpm.d]# ps aux | grep php-fpm
root      46286  0.0  0.1 222276  4436 ?        Ss   16:04   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
nginx     46287  0.0  0.1 222276  3932 ?        S    16:04   0:00 php-fpm: pool www
nginx     46288  0.0  0.1 222276  3936 ?        S    16:04   0:00 php-fpm: pool www
root      46290  0.0  0.0 112824   980 pts/3    R+   16:04   0:00 grep --color=auto php-fpm

        若看到相关进程,则证明启动成功。查询进程时,进程是以 nginx 用户身份执行的  

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

[root@localhost php-7.3.6]# cd 
[root@localhost ~]# vim /etc/profile

#在配置文件末尾新增如下两行
export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin

10. 重载环境变量

[root@localhost ~]# source /etc/profile

使用 echo $PATH 命令查看环境变量中是否已经加入了相关的路径 

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

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

[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php7/sbin/php-fpm
ExecStop=/bin/pkill -9 php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target

 [Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间


注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

12. 重载 systemctl 配置

[root@localhost ~]# systemctl daemon-reload

13. 停止 php-fpm

[root@localhost ~]# pkill php-fpm

14. 用 systemctl 启动 php-fpm

[root@localhost ~]# systemctl start php-fpm.service

15. 设置 php-fpm 开机启动

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

16. php-fpm 管理命令

[root@localhost ~]# systemctl stop php-fpm.service 			# 停止服务
[root@localhost ~]# systemctl restart php-fpm.service 		# 重新启动服务
[root@localhost ~]# systemctl status php-fpm.service		# 查看服务当前状态
[root@localhost ~]# systemctl disable php-fpm.service 		# 停止开机自启动

 五. Nginx 配置支持PHP

1、添加 Nginx 配置

[root@localhost ~]# cd /etc/nginx/
[root@localhost nginx]# vim nginx.conf +34

#从此行处添加如下内容

server
{
	listen 80;
	server_name localhost;
	index index.html index.htm index.php;
	root /usr/local/nginx/html;
	location ~ \.php$
	{
		include fastcgi_params;        #指定nginx连接php-fpm的常量
		fastcgi_pass 127.0.0.1:9000;    #连接php-fpm的地址和端口
		fastcgi_index index.php;        #指定默认页面
		fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #指定站点根目录
	}
}

2、添加 PHP 探测文件

[root@localhost nginx]# cd /usr/local/nginx/html/

#在这个文件里添加如下内容
[root@localhost html]# vim index.php

<?php
phpinfo();
?>

3. 验证 Nginx 关联 php-fpm 

3.1 重启 php-fpm

[root@localhost html]# systemctl restart php-fpm.service
[root@localhost html]# ps -ef|grep php-fpm
root      46443      1  0 16:18 ?        00:00:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
nginx     46444  46443  0 16:18 ?        00:00:00 php-fpm: pool www
nginx     46445  46443  0 16:18 ?        00:00:00 php-fpm: pool www
root      46447  46401  0 16:18 pts/2    00:00:00 grep --color=auto php-fpm

3.2 重载 Nginx 配置

[root@localhost nginx]# systemctl restart nginx
[root@localhost nginx]# systemctl status nginx
● nginx.service - nginx
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2024-05-11 16:36:02 CST; 4s ago
  Process: 46568 ExecStop=/usr/sbin/nginx -s quit (code=exited, status=0/SUCCESS)
  Process: 46573 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
 Main PID: 46574 (nginx)
   CGroup: /system.slice/nginx.service
           ├─46574 nginx: master process /usr/sbin/nginx
           └─46575 nginx: worker process

5月 11 16:36:02 localhost.localdomain systemd[1]: Starting nginx...
5月 11 16:36:02 localhost.localdomain nginx[46573]: nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
5月 11 16:36:02 localhost.localdomain systemd[1]: Started nginx.

 3. 测试PHP与数据库连通性

[root@localhost ~]# cat >/root/test_mysql.php<<'EOF'
<?php
$servername = "localhost";
$username = "root";
$password = "1234";      // 这里输入数据库root用户的密码
$database = "wordpress"; // 这里替换为你实际的数据库名

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $database);

// 检测连接
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "PHP连接MySQL数据库成功";
?>
EOF

#测试连通性
[root@localhost ~]# php /root/test_mysql.php 
PHP连接MySQL数据库成功[root@localhost ~]# 


#连接成功就可以继续下一步拉

4. 访问验证

访问地址(这里将IP改成你的IP即可): 192.168.226.129ip:/index.php    

LNMP环境编译安装完成!

六. 基于LAMP环境上线WordPress

 项目源码包链接:https://pan.baidu.com/s/1HUoj36zgx-Q1HooxRy4_Tw?pwd=cgue 
提取码:cgue

博客版本:wordpress-6.5.2-zh_CN

下载好,拖动上传到虚拟机里,这里我上传到拉root目录里

[root@localhost ~]# unzip wordpress-6.5.2-zh_CN.zip

[root@localhost ~]# rm -rf /usr/local/nginx/html/*

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

测试访问 

浏览器输入192.168.226.129   (这里你输入你的IP哈)

回车即可访问

点击现在就开始!

然后按照图改写一下,注意数据库密码你设置的别输入错误

如果不能创建wp-config.php请手动创建

[root@localhost ~]# cd /usr/local/nginx/html/

#将提示框中的信息粘贴进去 
[root@localhost html]# vim wp-config.php 

  配置完在点运行安装程序,不然会返回到初始页面重来,如果没有提示这个页面就直接下一步即可

 

到此,使用源码搭建就成功拉,本文重点理解和收悉源码搭建的环境的流程与步骤。 

往期相关搭建快捷跳转:

续篇——源码部署LAMP环境上线项目——禅道项目-CSDN博客

网盘_游戏_博客自动化部署(Nginx多项目部署)-CSDN博客

基于LNMP部署wordpress-CSDN博客

WordPress网站上添加看板娘-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/614966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3:路由

1. 路由简介 在Vue3中&#xff0c;路由是一个核心概念&#xff0c;特别是在构建单页面应用程序&#xff08;SPA&#xff09;时。以下是Vue3中路由的基本概念&#xff1a; 1. **路由&#xff08;Route&#xff09;**&#xff1a;在Vue3中&#xff0c;路由是指根据特定的规则将用…

i春秋-Backdoor

题目 考点 git源码泄露 Linux文件恢复 代码审计 http 解题 参考wp https://blog.csdn.net/cbhjerry/article/details/105791056https://www.pianshen.com/article/19461342501/扫描 题目给出提示&#xff1a;敏感文件泄漏 于是使用dirsearch扫一下 python dirsearch.py -…

如何到《新英格兰医学杂志》 NEJM查找下载文献

《新英格兰医学杂志》NEJM是世界上阅读、引用最广泛、影响力最大的综合性医学期刊之一。NEJM集团出版的期刊还包括NEJM Journal Watch、NEJM Catalyst及NEJM Evidence。NEJM是一份全科医学周刊&#xff0c;出版对生物医学科学与临床实践具有重要意义的一系列主题方面的医学研究…

废品回收微信小程序基于FastAdmin+ThinkPHP+UniApp(源码搭建/上线/运营/售后/更新)

一款基于FastAdminThinkPHPUniApp开发的废品回收系统&#xff0c;适用废品回收站、再生资源回收公司上门回收使用的小程序。 一、FastAdmin框架特色功能及优势 模块化开发&#xff1a;控制器、模型、视图、JS一一对应&#xff0c;使用RequireJS进行插件机制&#xff0c;支持插…

QX----mini51单片机学习---(7)矩阵键盘

目录 1矩阵键盘的识别 2相关c语言 3实践编程 1矩阵键盘的识别 假设按列扫描按下S6P30&#xff1a;0P34&#xff1a;1然后高流向低&#xff0c;P34&#xff1a;0&#xff0c;刚开始是0xf0&#xff1a;1111 0000 后面是0xe0&#xff1a;1110 0000 &#xff0c;当是0xe0能确…

如何通过AI技术实现员工培训的革命性变革

AI个性化培训&#xff1a;开启员工潜力的新篇章 在当今这个信息爆炸的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的影响力已经渗透到社会的各个层面&#xff0c;包括教育与培训行业。AI技术正在彻底改变我们获取知识与技能的方式&#xff0c;特别是在员工培训领域…

Offline: Overcoming Model Bias for Robust Offline Deep Reinforcement Learning

EAAI 2023 paper Intro model-free的离线强化学习由于价值函数估计问题存在训练的稳定性以及鲁棒性较低。本文提出基于模型的方法&#xff0c;同构构建稳定的动力学模型帮助策略的稳定训练。 method 本文基于模型的方法&#xff0c;所构造的转移模型输入状态动作&#xff0…

【python】python中的argparse模块,教你如何自定义命令行参数

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

C++容器——list

目录 list容器 list容器使用流程 加入头文件 定义 list容器的使用 添加元素&#xff1a; 删除元素&#xff1a; 访问元素&#xff1a; 容器大小&#xff1a; 迭代器操作&#xff1a; 其他操作&#xff1a; list容器 功能&#xff1a;将数据进行链式存储 链表(list…

数据结构--队列

一、认识队列 队列&#xff08;Queue&#xff09;是一种 受限的线性数据结构&#xff0c;具有 先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的特点。 受限之处&#xff1a; 只允许在表的前端&#xff08;front&#xff09;进行删除操作。只允许在表…

《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记

论文标题 《Decoupled Optimisation for Long-Tailed Visual Recognition》 长尾视觉识别的解耦优化 作者 Cong Cong、Shiyu Xuan、Sidong Liu、Shiliang Zhang、Maurice Pagnucco 和 Yang Song、 来自新南威尔士大学计算机科学与工程学院、北京大学计算机学院多媒体信息处…

乡村振兴与乡村振兴战略的深度融合:落实乡村振兴战略,推动乡村全面发展,打造富强民主文明和谐美丽的社会主义现代化新农村

一、引言 在全面建设社会主义现代化国家的新征程中&#xff0c;乡村振兴战略承载着推动乡村全面发展、实现农业农村现代化的重大使命。乡村振兴战略的实施&#xff0c;不仅关系到亿万农民的福祉&#xff0c;也关系到国家整体发展的质量和水平。因此&#xff0c;深化乡村振兴与…

YOLOv8项目使用说明

1. 下载群公告中的百度云连接&#xff0c;得到一个压缩文件 2. 解压并使用相关软件&#xff08;如pycharm、VSCode等&#xff09;打开 3. 选择一个合适的模型yaml文件&#xff0c;及数据集yaml文件进行训练 4. 配置并填入数据集yaml文件 5. 运行即可

MyCat实现分库分表

两个集群 两个库 两个表 搭建数据库服务使用docker启动两个mysql 3506 3507连接MyCat创建两个数据源连接MyCat创建集群 mycat创建逻辑库MyCat创建全局表广播表创建分片表mycat逻辑库MyCat插入数据mycat查看数据物理库3506查看数据物理库3507查看数据 ER表创建ER表mycat插入数据…

【Linux:lesson1】的基本指令

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 &#x1f697;打开Xshell&#xff0c;登陆root…

Python | Leetcode Python题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; class Solution:def minWindow(self, s: str, t: str) -> str:ans_left, ans_right -1, len(s)left 0cnt_s Counter() # s 子串字母的出现次数cnt_t Counter(t) # t 中字母的出现次数less len(cnt_t) # 有 less 种字母的出现次数…

【Vue基础】Vue在组件数据传递详解

Vue核心基础-CSDN博客 先回顾Vue特性&#xff1a; Vue.js 是一个用于构建用户界面的渐进式框架&#xff0c;具有许多强大的特性。以下是一些主要的 Vue 特性&#xff1a; 响应式数据&#xff1a;Vue 使用双向绑定来实现数据的响应式更新。当数据发生变化时&#xff0c;视图会自…

系统重构思路

系统重构之道 现在是进行重构的恰当时机吗&#xff1f;重构前需要做什么准备&#xff1f;如何保障重构工作顺利完成并达成预期目标&#xff1f;从这几个大家都关心的问题&#xff0c;来谈谈重构工作遵循的基本思路和原则。 从实际问题出发 “不能解决实际问题的重构就是耍流…

详解:ic网站建设开发需要注意什么?

IC网站建设开发需注重专业内容的呈现、强大的产品检索功能、全面的技术支持、严格的合规性展示、便捷的采购工具、良好的用户账户管理、移动适应性和多语言支持&#xff0c;以及高性能与高安全性&#xff0c;以满足行业用户的专业需求&#xff0c;提升网站的实用性和吸引力。 …

winhex工具,将文件转换为16进制数据放入代码。

今天介绍winhex工具&#xff0c;可以将任何内容读取读取为16进制数据。下面看下效果。 下载链接&#xff1a; WinHex: Hex Editor & Disk Editor, Computer Forensics & Data Recovery Software 一、WinHex打开文件 我们要打开的文件&#xff1a; 打开后&#xff1a; 我…