• 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服务

    1. cd nginx-1.16.0
    2. ./configure --user=nginx --group=nginx --prefix=/opt/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module
    3. make && make install

    这样就是成功了

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

    1. mkdir -p /nginx/ngin116
    2. ln -s /opt/nginx-1.16.0/ /nginx/ngin116/

    7.配置nginx环境变量

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

    1. vim /etc/profile
    2. 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的快捷方式

    1. tar zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
    2. cd /usr/local
    3. 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的配置文件

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

    vim /etc/my.cnf
    1. [mysqld]
    2. basedir=/usr/local/mysql/
    3. datadir=/usr/local/mysql/data
    4. socket=/tmp/mysql.sock
    5. server_id=1
    6. port=3306
    7. log_error=/usr/local/mysql/data/mysql_err.log
    8. [mysql]
    9. socket=/tmp/mysql.sock

    7.检查mysql所依赖的环境

    yum install libaio-devel -y

    8.创建mysql数据文件夹

    用于初始化数据

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

    9.初始化mysql数据库

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

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

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

    vim /etc/systemd/system/mysqld.service
    1. [Unit]
    2. Description=MySQL server by nginx
    3. Documentation=man:mysqld(8)
    4. Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    5. After=network.target
    6. After=syslog.target
    7. [Install]
    8. WantedBy=multi-user.target
    9. [Service]
    10. User=mysql
    11. Group=mysql
    12. ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    13. LimitNOFILE=5000
    systemctl restart mysqld.service

    11.登录mysql数据库

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

    1. [root@localhost system]# yum remove mysql -y
    2. Loaded plugins: fastestmirror
    3. No Match for argument: mysql
    4. No Packages marked for removal
    5. [root@localhost system]# which mysql
    6. /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

    修改密码

    1. mysql> use mysql;
    2. Reading table information for completion of table and column names
    3. You can turn off this feature to get a quicker startup with -A
    4. Database changed
    5. mysql> UPDATE user SET authentication_string=PASSWORD("123456") WHERE User="root";
    6. Query OK, 1 row affected, 1 warning (0.00 sec)
    7. Rows matched: 1 Changed: 1 Warnings: 1
    8. mysql> FLUSH PRIVILEGES;
    9. 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

    解压源码安装

    1. tar -zxvf php-7.3.5.tar.gz
    2. cd php-7.3.5
    3. ./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
    4. 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配置文件

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

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

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

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

    6.修改nginx支持php代码

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

    写入

    1. #user nobody;
    2. worker_processes 1;
    3. #error_log logs/error.log;
    4. #error_log logs/error.log notice;
    5. #error_log logs/error.log info;
    6. #pid logs/nginx.pid;
    7. events {
    8. worker_connections 1024;
    9. }
    10. http {
    11. include mime.types;
    12. default_type application/octet-stream;
    13. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    14. # '$status $body_bytes_sent "$http_referer" '
    15. # '"$http_user_agent" "$http_x_forwarded_for"';
    16. #access_log logs/access.log main;
    17. sendfile on;
    18. #tcp_nopush on;
    19. #keepalive_timeout 0;
    20. keepalive_timeout 65;
    21. include extra/my_php.conf;
    22. }

    配置虚拟主机的部分

    1. cd /opt/nginx-1.16.0/conf/
    2. mkdir extra
    3. cd extra/
    4. vim /opt/nginx-1.16.0/conf/extra/my_php.conf
    1. server {
    2. listen 80;
    3. server_name _;
    4. location / {
    5. root html;
    6. index index.html;
    7. }
    8. #添加有关php程序的解析
    9. location ~ .*\.(php|php5)?$ {
    10. root html/myphp;
    11. fastcgi_pass 127.0.0.1:9000;
    12. fastcgi_index index.php;
    13. include fastcgi.conf;
    14. }
    15. }

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

    1. mkdir -p /opt/nginx-1.16.0/html/myphp
    2. echo "" >/opt/nginx-1.16.0/html/myphp/index.php

    8.测试验证

    1. nginx -t
    2. nginx -s reload

    访问一下

    成功


    四、测试php和MySQL链接

    1.编写php脚本

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


    五、lnmp环境搭建wordpress

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

    mysql -u root -p

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

    1. create database wordpress;
    2. create user wordpress;
    3. grant all on wordpress.* to wordpress@'localhost' identified by '123456';
    4. FLUSH PRIVILEGES;
    5. quit

    2.下载和安装源码

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

    3.移动博客代码到首页

    1. mv -rf wordpress/* /opt/nginx-1.16.0/html/myphp/
    2. cd /opt/nginx-1.16.0/html/myphp/
    3. ls
    1. mv -rf wordpress/* /opt/nginx-1.16.0/html/myphp/
    2. cd /opt/nginx-1.16.0/html/myphp/
    3. ls

    改下权限

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

    4.查看下

    nginx -s reload

    成功

    5.初始化配置

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

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

    完成!

  • 相关阅读:
    B+树索引(5)之索引注意事项
    deployment的yaml说明
    C#学习系列之事件
    maven的安装即案例
    vue3+ts+vite之路由组件的搭建
    【Flutter】widgets (1) 组件概述 widget tree 常见的widgets
    计算机中的第二个伟大发明(JMP/JMPR)
    WebDAV之葫芦儿·派盘+小象记帐
    前后端分离项目,vue+uni-app+php+mysql在线教育视频点播小程序系统 开题报告
    ARM汇编(gun-complier)
  • 原文地址:https://blog.csdn.net/bmxch/article/details/134429178