LINMP搭建wordpress-数据库不分离

news2025/1/22 12:49:39

目录

一、nginx部署

1.安装nginx前的系统依赖环境检查

2.下载nginx源代码包

3.解压缩源码包

4.创建普通的nginx用户

5.开始编译安装nginx服务

6.创建一个软连接以供集中管理

7.配置nginx环境变量

二、mysql

1.创建普通mysql用户

2.下载mysql二进制代码包

3.创建mysql的快捷方式

4.安全性的准备工作

5.设置环境变量

6.启动mysql的配置文件

7.检查mysql所依赖的环境

8.创建mysql数据文件夹

9.初始化mysql数据库

10.使用systemctl命令管理mysql数据库

11.登录mysql数据库

三、部署php

1.依赖环境

2.下载php源码

3.配置文件

4.cp模板配置文件

5.启动php服务指定fastcgi形式

6.修改nginx支持php代码

7.创建php的首页脚本文件

8.测试验证

四、测试php和MySQL链接

1.编写php脚本

五、lnmp环境搭建wordpress

1.创建用于wordpress博客的数据库

2.下载和安装源码

3.移动博客代码到首页

4.查看下

5.初始化配置


一、nginx部署

1.安装nginx前的系统依赖环境检查

yum install pcre pcre-devel openssl openssl-devel gcc -y

2.下载nginx源代码包

wget http://nginx.org/download/nginx-1.16.0.tar.gz

3.解压缩源码包

tar -zxvf nginx-1.16.0.tar.gz mkdir /opt/nginx-1.16.0/

4.创建普通的nginx用户

用于运行nginx的进程,降低nginx的系统权限

-M选项,不自动建立用户的家目录

-u,制定用户uid

useradd nginx -u 1111 -s /sbin/nologin -M

5.开始编译安装nginx服务

cd nginx-1.16.0

./configure --user=nginx --group=nginx --prefix=/opt/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module

make && make install

这样就是成功了

6.创建一个软连接以供集中管理

mkdir -p /nginx/ngin116

ln -s /opt/nginx-1.16.0/ /nginx/ngin116/

7.配置nginx环境变量

添加nginx的sbin目录添加到path中

vim /etc/profile 
PATH="$PATH:/nginx/ngin116/sbin"

重新打开一个tty


二、mysql

1.创建普通mysql用户

降低程序运行权限

useradd -s /sbin/nologin mysql

2.下载mysql二进制代码包

注意提前下载好wget工具

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

3.创建mysql的快捷方式

tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local
ln -s mysql-5.7.26-linux-glibc2.12-x86_64 mysql

4.安全性的准备工作

卸载可能centos7存在的mariadb相关的依赖关系

rpm -e --nodeps mariadb-libs

5.设置环境变量

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile source /etc/profile

6.启动mysql的配置文件

[root@localhost local]# mkdir -pv /data/mysql
mkdir: created directory ‘/data’
mkdir: created directory ‘/data/mysql’
[root@localhost local]# chown mysql.mysql /data/mysql
[root@localhost local]# chmod go-rwx /data/mysql

vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
server_id=1
port=3306
log_error=/usr/local/mysql/data/mysql_err.log


[mysql]
socket=/tmp/mysql.sock

7.检查mysql所依赖的环境

yum install libaio-devel -y

8.创建mysql数据文件夹

用于初始化数据

mkdir -p /usr/local/mysql/data/
chown -R mysql.mysql /usr/local/mysql/

9.初始化mysql数据库

mkdir -p /usr/local/mysql/data/
chown -R mysql.mysql /usr/local/mysql/

10.使用systemctl命令管理mysql数据库

编写mysql启动脚本,定义一个mysqld.service

vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL server by nginx
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000
systemctl restart mysqld.service

11.登录mysql数据库

先检查下以前有没有默认的MySQL

[root@localhost system]# yum remove mysql -y
Loaded plugins: fastestmirror
No Match for argument: mysql
No Packages marked for removal
[root@localhost system]# which mysql
/usr/bin/which: no mysql in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/nginx/ngin116/sbin:/root/bin)

编辑profile文件

vim /etc/profile

在最后添加

PATH="$PATH:/usr/local/mysql/bin"

重新编译一下

source /etc/profile

登录默认没有密码

mysql -uroot -p

修改密码

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET authentication_string=PASSWORD("123456") WHERE User="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


三、部署php

1.依赖环境

yum install gcc gcc-c++ make zlib-devel libxm12-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-develgd-devel libcurl-devel libxslt-devel libxslt-devel -y

2.下载php源码

wget http://mirrors.sohu.com/php/php-7.3.5.tar.gz

解压源码安装

tar -zxvf php-7.3.5.tar.gz
cd php-7.3.5

./configure --prefix=/usr/local/php7.3.5 --with-mysql-sock=/tmp/mysql.sock  --with-mysqli  --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-opcache=no
make && make install

3.配置文件

vimdiff php.ini-development php.ini-production

看下两个配置文件的区别(一个用于生产,一个用于开发)

我们用开发版本的

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

4.cp模板配置文件

生成新的php配置文件

有关FASTCGI配置文件

cd /usr/local/php7.3.5/etc/
cp php-fpm.conf.default php-fpm.conf
ls

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

5.启动php服务指定fastcgi形式

cd /usr/local/php7.3.5/sbin
./php-fpm
netstat -tunlp | grep php

6.修改nginx支持php代码

vim /opt/nginx-1.16.0/conf/nginx.conf

写入

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
    #access_log  logs/access.log  main;
    
    sendfile        on;
    #tcp_nopush     on;
    
    #keepalive_timeout  0;
    keepalive_timeout  65;

include extra/my_php.conf;

}
    

配置虚拟主机的部分

cd /opt/nginx-1.16.0/conf/
mkdir extra
cd extra/
vim /opt/nginx-1.16.0/conf/extra/my_php.conf
server {
listen 80;
server_name _;
location / {
        root html;
        index index.html;
}
#添加有关php程序的解析
location ~ .*\.(php|php5)?$ {
            root html/myphp;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
}

}

7.创建php的首页脚本文件

mkdir -p /opt/nginx-1.16.0/html/myphp
echo "<?php phpinfo(); ?>" >/opt/nginx-1.16.0/html/myphp/index.php

8.测试验证

nginx -t 
nginx -s reload

访问一下

成功


四、测试php和MySQL链接

1.编写php脚本

vim /opt/nginx-1.16.0/html/myphp/test_mysql.php
<?php
$link_id=mysqli_connect('localhost','root','123456') or mysql_error();
if($link_id){
    echo "mysql-server was connected by mysqli_connect";
}else{
    echo "something wrong this php or mysql";
}

?> 


五、lnmp环境搭建wordpress

1.创建用于wordpress博客的数据库

mysql -u root -p

进入数据库创建wordpress数据库;创建wordpress专用数据库用户;给用户本地登录授权和密码

create database wordpress;


create user wordpress;


grant all on wordpress.* to wordpress@'localhost' identified by '123456';
FLUSH PRIVILEGES;
quit


2.下载和安装源码

wget https://wordpress.org/wordpress-5.3.2.tar.gz
tar -zxvf wordpress-5.3.2.tar.gz

3.移动博客代码到首页

 mv -rf wordpress/* /opt/nginx-1.16.0/html/myphp/
 cd /opt/nginx-1.16.0/html/myphp/
 ls
 mv -rf wordpress/* /opt/nginx-1.16.0/html/myphp/
 cd /opt/nginx-1.16.0/html/myphp/
 ls

改下权限

cd /opt/nginx-1.16.0/html/myphp/
chown -R nginx.nginx ./

4.查看下

nginx -s reload

成功

5.初始化配置

和刚刚数据库创建的库和用户名密码一样

填写博客标题和一些默认信息

完成!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows的远程桌面服务RDS存在弱加密证书的漏洞处理

背景 漏洞扫描检测windows服务器的远程桌面服务使用了弱加密的ssl证书 思路 按照报告描述&#xff0c;试图使用强加密的新证书更换默认证书 解决 生成证书 通过openssl1.1.1生成&#xff08;linux自带openssl&#xff0c;windows安装的是openssl1.1.1w&#xff09;&#x…

基于Vue+SpringBoot的农村物流配送系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2.1 快递信息管理&#xff1a;2.2.2 位置信息管理&#xff1a;2.2.3 配送人员分配&#xff1a;2.2.4 路线规划&#xff1a;2.2.5 个人中心&#xff1a;2.2.6 退换快递处理&#xff1a;…

智能电网短路故障接地故障模拟柜

智能电网短路故障接地故障模拟柜是一种用于模拟智能电网中短路故障和接地故障的设备&#xff0c;它可以模拟电网中的各种故障情况&#xff0c;帮助电力工程师进行故障诊断和维修。智能电网中的短路故障是指电路中出现了异常的电流路径&#xff0c;导致电流过大&#xff0c;可能…

利用ffmpeg实现rtmp和rtsp推流

环境说明 windows11 : ffmpeg VLC Linux Unbuntu20.04 : SRS MediaMTX 可选&#xff1a;GStreamer win11下载ffmpeg和ffplay ffmpeg官网 添加环境变量&#xff1a;添加ffmpeg/bin所在的路径。 D:\ffmpeg\ffmpeg-master-latest-win64-lgpl-shared\bin win11查看本机电脑的设备…

基于单片机的水位检测系统仿真设计

**单片机设计介绍&#xff0c; 基于单片机的水位检测系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的水位检测系统仿真系统是一种用于模拟水位检测系统的工作过程&#xff0c;以验证设计方案的可行性和优…

赢麻了……腾讯1面核心9问,小伙伴过了提42W offer

说在前面 在40岁老架构师尼恩的&#xff08;50&#xff09;读者社群中&#xff0c;经常有小伙伴&#xff0c;需要面试腾讯、美团、京东、阿里、 百度、头条等大厂。 下面是一个小伙伴成功拿到通过了腾讯面试&#xff0c;并且最终拿到offer&#xff0c;一毕业就年薪42W&#x…

UniApp中的数据存储与获取指南

目录 介绍 数据存储方案 1. 本地存储 2. 数据库存储 3. 网络存储 实战演练 1. 本地存储实例 2. 数据库存储实例 3. 网络存储实例 注意事项与最佳实践 结语 介绍 在移动应用开发中&#xff0c;数据的存储和获取是至关重要的一部分。UniApp作为一款跨平台应用开发框架…

C++入门(2)—函数重载、引用

目录 一、函数重载 1、参数类型不同 2、参数个数不同 3、参数顺序不同 4、 链接中如何区分函数重载 二、引用 1、规则 2、特征 3、使用场景 做参数 做返回值 4、常引用 5、传值、传引用效率比较 6、引用和指针的区别 接上一小节C入门(1)—命名空间、缺省参数 一…

Nutz框架如何自定义SQL?

Nutz框架基本的简单sql已经封装了&#xff0c;但是一些叫为复杂的sql需要手动去写&#xff0c;那如何实现像Mybatis那样通过配置文件编写呢&#xff1f;如有不明白详见官方文档&#xff1a;自定义 SQL - Nutzhttps://nutzam.com/core/dao/customized_sql.html#ndoc-4 一 新建…

Navicat for mysql 无法连接到虚拟机的linux系统下的mysql

原创/朱季谦 最近在linux Centos7版本的虚拟机上安装了一个MySql数据库&#xff0c;发现本地可以正常ping通虚拟机&#xff0c;但Navicat则无法正常连接到虚拟机里的MySql数据库&#xff0c;经过一番琢磨&#xff0c;发现解决这个问题的方式&#xff0c;很简单&#xff0c;总共…

CTFhub-RCE-过滤cat

查看当前目录&#xff1a;输入:127.0.0.1|ls 127.0.0.1|cat flag_42211411527984.php 无输出内容 使用单引号绕过 127.0.0.1|cat flag_42211411527984.php|base 64 使用双引号绕过 127.0.0.1|c""at flag_42211411527984.php|base64 使用特殊变量绕过 127.0.0.…

2016Outlook显示正在启动无法进入Outlook

2016Outlook显示正在启动无法进入Outlook 故障现象&#xff1a; 因上次非正常关闭&#xff0c;导致Outlook启动时&#xff0c;一直处于启动界面&#xff0c;无法进入主界面正常工作 故障截图&#xff1a; 故障原因&#xff1a; 数据文件异常导致 解决方案&#xff1a; 1、关…

asp.net core mvc 之 依赖注入

一、视图中使用依赖注入 1、core目录下添加 LogHelperService.cs 类 public class LogHelperService{public void Add(){}public string Read(){return "日志读取";}} 2、Startup.cs 文件中 注入依赖注入 3、Views目录中 _ViewImports.cshtml 添加引用 4、视图使用…

HTML5+CSS3小实例:悬停放大图片的旅游画廊

实例:悬停放大图片的旅游画廊 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&…

【linux】nmon 工具使用

nmon 介绍 nmon是奈杰尔的性能监视器的缩写&#xff0c;适用于POWER、x86、x86_64、Mainframe和现在的ARM&#xff08;Raspberry Pi&#xff09;上的Linux。同样适用于nmon for AIX的工具&#xff08;与IBM的AIX一起提供&#xff09;。njmon与之类似&#xff0c;但将数据保存为…

波束形成中的主瓣宽度

阵列信号处理相关基础知识及主瓣宽度 导向矢量阵列方向图确知波束形成普通波束形成主瓣宽度确知波束形成主瓣宽度普通波束形成主瓣宽度 在讨论主瓣宽度之前&#xff0c;首先得了解导向矢量、波束形成、阵列方向图的概念&#xff0c;这些是阵列信号处理中最基础的知识。 导向矢量…

【LeetCode刷题-滑动窗口】--1423.可获得的最大点数

1423.可获得的最大点数 思路&#xff1a; 数组cardPoints的长度为n&#xff0c;由于只能从开头和末尾拿k张卡牌&#xff0c;所以最后剩下的必然是连续的n-k张卡牌&#xff0c;可以通过求出剩余卡牌点数之和的最小值&#xff0c;来求出拿走卡牌点数之和的最大值 算法&#xff…

centos7升级python2到python3.6.8使用yum安装问题

背景 公司爬虫需要使用python3.6.8版本&#xff0c;因此升级centos的python2到python3.6.8。但是当使用yum安装包时 &#xff0c;出现如下异常&#xff1a; [rootlocalhost bin]# yum install npm -y Loaded plugins: fastestmirror, product-id, search-disabled-repos, sub…

S25FL256S介绍及FPGA实现思路

本文介绍 S25FL256S 这款 FLASH 芯片&#xff0c;并进行 FPGA 读写控制的实现&#xff08;编程思路及注意事项&#xff09;。 文章目录 S25FL-S 介绍管脚功能说明SPI 时钟模式SDRDDR 工作模式FLASH存储阵列&#xff08;地址空间映射&#xff09;常用寄存器及相关指令Status Reg…