当前位置: 首页 > article >正文

麒麟操作系统服务架构保姆级教程(七)Nginx+PHP+Mysql部署服务

上边几篇文章已经交过大家二进制部署nginx和php,现在咱们打通nginx和php,mysql和php,开始部署服务,学会部署服务之后就可以开始学习负载均衡啦,话不多说,咱们直接开始~~~

目录

一、.nginx部署

二、安装PHP服务

三、安装数据库

四、打通Nginx和PHP的联通

五、打通Mysql和PHP的连接

​编辑

六、部署业务

七、统一服务的启动用户


💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、.nginx部署

1、编译安装,参考之前的文章
https://blog.csdn.net/weixin_62408089/article/details/144616700?fromshare=blogdetail&sharetype=blogdetail&sharerId=144616700&sharerefer=PC&sharesource=weixin_62408089&sharefrom=from_link
2、yum安装
[root@web01 ~]#vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
​
yum -y install nginx

二、安装PHP服务

1、安装PHP
安装方式两种:
1).通过yum安装
[root@web01 ~]# yum -y install php php-bcmath php-cli php-common php-devel php-embedded php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo   php-process php-xml php-json
​
2).二进制编译安装,可以参考上篇文章
https://blog.csdn.net/weixin_62408089/article/details/144774614?fromshare=blogdetail&sharetype=blogdetail&sharerId=144774614&sharerefer=PC&sharesource=weixin_62408089&sharefrom=from_link
 
3).检查安装是否成功
[root@web01 ~]#rpm -qa|grep php|wc -l
16
​
3.启动PHP服务
[root@web01 ~]#systemctl start php-fpm
[root@web01 ~]#systemctl enable php-fpm
 Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to 
/usr/lib/systemd/system/php-fpm.service.
4.查看端口
[root@web01 ~]#netstat -tnulp|grep 9000
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      10443/php-fpm: mast 

三、安装数据库

1.安装Mariadb数据库 mysql--->Mariadb
mysql是常用的关系型数据库,MariaDB是MySQL的一个分支。由于Oracle收购了MySQL后,社区担心MySQL未来的开源性等诸多因素,因此Monty Widenius创建了MariaDB,语法和功能兼容:MariaDB的设计目标之一是与 MySQL兼容。在基本的SQL语法、存储过程、视图、索引等常见数据库功能上,MariaDB和MySQL非常相似。这意味着对于大多数用户来说,如果他们已经熟悉MySQL,切换到MariaDB在使用习惯上不会有太大的障碍这里我安装的是mariadb。
[root@web01 ~]#yum -y install mariadb-server
2.启动数据库
[root@web01 ~]#systemctl start mariadb
[root@web01 ~]#systemctl enable mariadb
3.检查端口3306
[root@web01 ~]#netstat -tnulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      10443/php-fpm: mast 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10774/mysqld 
4.修改数据库密码
[root@web01 ~]#mysqladmin password 'qy123.com'
5.登录测试
[root@web01 ~]#mysql -uroot -p'qy123.com'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>quit       # quit退出数据库
Bye

四、打通Nginx和PHP的联通

[root@web01 conf.d]#cat php.conf 
server {
        listen 80;
        server_name www.php.com;
        root /php;
        location / {
                index index.php index.html;
        }
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
创建/php目录
mkdir /php
写入代码
[root@web01 conf.d]#cat /php/index.php 
<?php
        phpinfo();
?>
windows做hosts解析
浏览器访问:  php.oldoy.com 显示php的信息

五、打通Mysql和PHP的连接

[root@web01 conf.d]#cat /php/mysql.php 
<?php
    $servername = "localhost";
    $username = "root";
    $password = "qy123.com";
    // 创建连接
    $conn = mysqli_connect($servername, $username, $password);
    // 检测连接
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    echo "php连接mysql成功";
 ?>
 <img style='width:100%;height:100%;' src=/477.png>
浏览器访问: http://www.php.com/mysql.php

六、部署业务

Nginx+MySQL+PHP部署完成
1.配置Nginx
[root@web01 conf.d]#cat wordpress.conf 
server {
    listen 80;
    server_name www.wp.com;
    root /code/wordpress;
    location / {
        index index.php index.html;
    }
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
语法检测
[root@web01 conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启
[root@web01 conf.d]#systemctl restart nginx
2.创建代码目录/code/wordpress
[root@web01 conf.d]#mkdir /code/wordpress
3.下载wordpress代码到代码目录
[root@web01 wordpress]#wget https://cn.wordpress.org/wordpress-5.8.7-zh_CN.tar.gz
 4.解压代码
[root@web01 wordpress]#tar xf wordpress-5.8.7-zh_CN.tar.gz 
[root@web01 wordpress]#ll
 total 15428
 drwxr-xr-x 5 1006 1006     
4096 May 17  2023 wordpress-rw-r--r-- 1 root root 15792879 May 17  2023 wordpress-5.8.7-zh_CN.tar.gz
[root@web01 wordpress]#mv wordpress/* .
 5.访问wordpres页面
windows做hosts解析
10.0.0.7   
www.wp.com
​
连接数据库创建wordpress库
[root@web01 wordpress]#mysql -uroot -pqy123.com -e "create database wordpress;"
[root@web01 wordpress]#mysql -uroot -pqy123.com -e "show databases;"
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | mysql              |
 | performance_schema |
 | test               |
 | wordpress          |
 +--------------------+

 

回到服务器操作,将提示的内容写入文件中
[root@web01 wordpress]#vim wp-config.php
[root@web01 wordpress]#
输入信息

 

七、统一服务的启动用户

groupadd -g666 www
useradd -u666 -g666 -M -s /sbin/nologin www
修改nginx启动用户
[root@web01 ~]#head -3 /etc/nginx/nginx.conf
user  www;
修改后重启nginx
[root@web01 ~]#systemctl restart nginx
修改php启动用户
[root@web01 ~]#egrep '^user|^group' /etc/php-fpm.d/www.conf
user = www
group = www
[root@web01 ~]#systemctl restart php-fpm
检查是否修改成功
[root@web01 ~]#ps axu|grep nginx
root      11357  0.0  0.0  59444  1176 ?        Ss   12:04   0:00 nginx: master process /usr/sbin/nginx -c 
/etc/nginx/nginx.conf
www       11358  0.0  0.1  59940  2064 ?        S    12:04   0:00 nginx: worker process
root      11427  0.0  0.0 112808   968 pts/0    R+   12:06   0:00 grep --color=auto nginx
[root@web01 ~]#ps axu|grep php
root      11419  0.2  1.6 490152 32636 ?        Ss   12:05   0:00 php-fpm: master process (/etc/php
fpm.conf)
 www       11421  0.0  0.3 490152  7588 ?        S    12:05   0:00 php-fpm: pool www
 www       11422  0.0  0.3 490152  7588 ?        S    12:05   0:00 php-fpm: pool www
最后将/code/wordpress 属主属组修改为www
[root@web01 ~]#chown -R www.www /code/wordpress/
后台地址:
http://www.wp.com/wp-login.php
http://www.wp.com/

今天的单机LNMP告一段落了,接下来咱们学习架构拆分~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 


http://www.kler.cn/a/465836.html

相关文章:

  • 《Rust权威指南》学习笔记(二)
  • 模型参数公式与代码对应
  • 【信息系统项目管理师】高分论文:论信息系统项目的风险管理(城市停车诱导系统)
  • 图像分割基础:使用Python和scikit-image库
  • 如何使用SparkSql
  • 声音是如何产生的
  • 如何二次封装组件(vue3版本)
  • npx和npm和pnpm的异同
  • 基于SpringBoot在线竞拍平台系统功能实现十三
  • 1.3 距离度量
  • go项目zero框架中用gentool解决指定MYSQL表生成结构体被覆盖的解决方案
  • 【网络协议】开放式最短路径优先协议OSPF详解(二)
  • dbeaver导入导出数据库(sql文件形式)
  • 深入探讨爬虫的核心理念:设计原则与关键技术
  • 关于Zotero
  • 高阶无源和有源滤波器
  • 【docker】笔记
  • 壁纸样机神器,适合初学者使用吗?
  • docker安装各种中间件
  • DBD低温等离子体技术在汽车进气系统中的应用探索
  • Leetcode729: 我的日程安排表 I
  • Linux(Ubuntu)下ESP-IDF下载与安装完整流程(4)
  • 【从零开始入门unity游戏开发之——unity篇04】unity6基础入门——场景窗口(Scene)和层级窗口(Hierarchy)介绍
  • 浏览器选中文字样式
  • 设计模式 结构型 装饰器模式(Decorator Pattern)与 常见技术框架应用 解析
  • 软件逆向之OD基础