LINMP搭建wordpress-数据库不分离

目录

一、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.初始化配置

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

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

完成!

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

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

相关文章

吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II

8.5、特征与直观理解I 一、神经网络的学习特性 神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归&#xff0c;在使用原始特征 x1​,x2​,...,xn​ 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征&#xff0c;但仍然受到原始特征的限制。在神经网…

【MySQL】MVCC(多版本并发控制)详解

MVCC MVCC概述 MVCC&#xff0c;全称 Multi-Version Concurrency Control &#xff0c;即多版本并发控制。MVCC 是一种并发控制的方法&#xff0c;一般在数据库管理系统中&#xff0c;实现对数据库的并发访问&#xff0c;在编程语言中实现事务内存。 MVCC就是在ReadCommitte…

echarts实现不展示X轴Y轴轴线、刻度

今日工作中需要实现折线图的简图&#xff0c;就是只看个大概趋势不展示具体坐标&#xff0c;查阅了文档记录一下。 initCharts(_id, _name, yAxisData, _unit){if(this[_id]) this[_id].clear();this[_id] $echarts.init(document.getElementById(_id));const options {grid…

基于Springboot+Vue的社区医院管理系统

基于SpringbootVue的社区医院管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 医生列表 医生详情 登录界面 管理员界面 医生界面 摘要 社区医院管…

van-dialog弹窗异步关闭-校验表单

van-dialog弹窗异步关闭 有时候我们需要通过弹窗去处理表单数据&#xff0c;在原生微信小程序配合vant组件中有多种方式实现&#xff0c;其中UI美观度最高的就是通过van-dialog嵌套表单实现。 通常表单涉及到是否必填&#xff0c;在van-dialog的确认事件中直接return是无法阻止…

POE也收费了

一直通过POE在用chatgpt&#xff0c;今天下午发现要收费了…

二百零三、Flume——Flume实时采集数据频率为1s的高频率Kafka数据直接写入ODS层表的HDFS文件路径下

一、目的 在离线数仓中&#xff0c;需要用Flume去采集Kafka中的数据&#xff0c;然后写入HDFS中。 由于每种数据类型的频率、数据大小、数据规模不同&#xff0c;因此每种数据的采集需要不同的Flume配置文件。玩了几天Flume&#xff0c;感觉Flume的使用难点就是配置文件 二、…

【MATLAB源码-第78期】基于matlab的可见光通信不同调制方式(OOK,PPM,DPPM,DHPIM)误码率,信道容量分析。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 可见光通信&#xff08;VLC&#xff0c;Visible Light Communication&#xff09;是一种利用可见光作为信号载体的通信技术。在VLC中&#xff0c;常用的调制方式包括OOK&#xff08;On-Off Keying&#xff09;、PPM&#xff…

【C++初阶】三、类和对象(面向过程、class类、类的访问限定符和封装、类的实例化、类对象模型、this指针)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【C初阶】二、入门知识讲解 &#xff08;引用、内联函数、auto关键字、基于范围的for循环、指针空值nullptr&#xff09;-CSDN博客 一 . 面向过程和面向对象初步认识 C语言 -- 面向…

【力扣题:循环队列】

文章目录 一.题目描述二. 思路解析三. 代码实现 一.题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好…

Oracle-动态sql学习笔记,由易至难讲解七个例子

本文章的内容来源于对oracle课堂上讲的内容做出的笔记 静态sql和动态sql 静态sql&#xff1a; 静态 SQL 是在编译时写死的 SQL 语句&#xff0c;即在程序编写阶段&#xff0c;SQL 语句已经被固定下来。 特点&#xff1a; 1.预编译&#xff1a; SQL 语句在程序编译时就会被…

C#中.NET 7.0 Windows窗体应用通过EF访问新建数据库

目录 一、 操作步骤 二、编写EF模型和数据库上下文 三、移植&#xff08;Migrations&#xff09;数据库 四、编写应用程序 五、生成效果 前文已经说过.NET Framework4.8 控制台应用通过EF访问已经建立的和新建的数据库。 前文已经说过.NET 6.0 控制台应用通过EF访问…

ajax异步传值以及后端接收参数的几种方式

异步传值 第一种呢&#xff0c;也是最简单的一种&#xff0c;通过get提交方式&#xff0c;将参数在链接中以问号的形式进行传递 // 前台传值方法 // 触发该方法调用ajaxfunction testAjax(yourData) {$.ajax({type: "get", // 以get方式发起请求url: "/yo…

海康设备、LiveNVR等通过GB35114国密协议对接到LiveGBS GB28181/GB35114平台的详细操作说明

一、LiveNVR通过GB35114接入LiveGBS 1.1 开启LiveGBS 35114功能 信令服务livecms.ini配置文件中[sip]增加一行gm1 启动LiveCMS 1.2 生成设备端证书 我们用LiveNVR做为设备端向LiveGBS注册&#xff0c;这里先生成LiveNVR的设备证书&#xff0c;并将LiveNVR的设备证书给LiveGB…

绩效考核管理项目|记录1

项目用C#winformSQL Server写的&#xff0c;现在记录一下学习到的新东西。 winform工具 splitContainer&#xff1a;分割出两个容器&#xff0c;能添加面板之类的工具 treeview&#xff1a;展示标签页的分层集合&#xff08;用户管理、基数管理......&#xff09;&#xff0…

GZ038 物联网应用开发赛题第6套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 &#xff08;第6套卷&#xff09; 工位号&#xff1a;______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具&#xff0c;操作安全规范&#xff1b; 2、竞赛过程中如有异议&#xff0c;可向现场考评…

蓝桥杯 大小写转换

islower/isupper函数 islower和issupper是C标准库中的字符分类函数&#xff0c;用于检查一个字符是否为小写字母或大写字母 需要头文件< cctype>,也可用万能头包含 函数的返回值为bool类型 char ch1A; char ch2b; //使用islower函数判断字符是否为小写字母 if(islower(…

短路语法 [SUCTF 2019]EasySQL1

打开题目 输入字符的时候啥也不回显。只有输入数字的时候页面有回显 但是当我们输入union&#xff0c;from&#xff0c;sleep&#xff0c;where&#xff0c;order等&#xff0c;页面回显nonono&#xff0c;很明显过滤了这些关键词 最开始我的思路是打算尝试双写绕过 1;ununion…

【SpringBoot】序列化和反序列化介绍

一、认识序列化和反序列化 Serialization&#xff08;序列化&#xff09;是一种将对象以一连串的字节描述的过程&#xff1b;deserialization&#xff08;反序列化&#xff09;是一种将这些字节重建成一个对象的过程。将程序中的对象&#xff0c;放入文件中保存就是序列化&…

220V交流转直流的简易电源设计

220V交流转直流的简易电源设计 设计简介设计原理电路图变压器电路交流转直流电路3.3V电源接口电路 PCB3D图 实践检验 设计简介 通过模拟电路的相关知识&#xff0c;尝试将220V的交流电转化为我们指定电压的直流电。 设计原理 将220V交流电转化为直流电的方法常用的有通过变压器…