首页 > 其他分享 >搭建LNMP架构

搭建LNMP架构

时间:2024-06-17 16:33:28浏览次数:15  
标签:架构 fpm LNMP nginx -- php root localhost 搭建

搭建LNMP架构

1.关闭防火墙,安装依赖包,创建运行用户、组

点击查看代码
[root@localhost ~]#  systemctl disable --now  firewalld
[root@localhost ~]#  setenforce 0

[root@localhost ~]#  yum -y install pcre-devel zlib-devel gcc gcc-c++ make

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

2.编译安装nginx

点击查看代码
[root@localhost ~]#  cd /opt
[root@localhost opt]#  rz

[root@localhost opt]#  ls
nginx-1.22.0.tar.gz  rh
[root@localhost opt]#  tar xf nginx-1.22.0.tar.gz    //解压
[root@localhost opt]#  ls
nginx-1.22.0  nginx-1.22.0.tar.gz  rh

[root@localhost opt]#  cd nginx-1.22.0/
[root@localhost nginx-1.22.0]#  ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
[root@localhost nginx-1.22.0]#  make && make install

[root@localhost nginx-1.22.0]#  cd /usr/local/nginx/
[root@localhost nginx]#  ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/   //软链接

[root@localhost nginx]#  tee /lib/systemd/system/nginx.service   <<eof
> [Unit]
> Description=nginx
> After=network.target
> [Service]
> Type=forking
> PIDFile=/usr/local/nginx/logs/nginx.pid
> ExecStart=/usr/local/nginx/sbin/nginx
> ExecReload=/bin/kill -1 $MAINPID
> ExecStop=/bin/kill -3 $MAINPID
> PrivateTmp=true
> [Install]
> WantedBy=multi-user.target
> eof
[root@localhost nginx]#  systemctl daemon-reload 
[root@localhost nginx]#  systemctl start nginx
[root@localhost nginx]#  chmod 777 /lib/systemd/system/nginx.service //修改权限

3.yum安装mysql

点击查看代码
[root@localhost nginx]#  tee /etc/yum.repos.d/mysql.repo <<EOF      //官方源
> [mysql57-community]
> name=MySQL 5.7 Community Server
> baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
> enabled=1
> gpgcheck=0
> EOF

[root@localhost nginx]#  yum -y install mysql-community-server   //社区版
[root@localhost nginx]#  systemctl start mysqld

[root@localhost ~]#  grep password /var/log/mysqld.log   //过滤出密码
2024-06-10T02:42:00.592178Z 1 [Note] A temporary password is generated for root@localhost: P7V>dNlF8XIi
2024-06-10T02:43:37.028857Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)

[root@localhost ~]#  mysql -u root -p"P7V>dNlF8XIi"
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 4
Server version: 5.7.44

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> set global validate_password_policy=0;     //修改密码策略
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;     //修改密码策略
Query OK, 0 rows affected (0.00 sec)

mysql> alter user root@'localhost' identified by 'abc123';   //修改密码
Query OK, 0 rows affected (0.00 sec)
mysql> ^DBye    //ctrl+D退出

[root@localhost ~]#  mysql -u root -p"abc123"   //修改密码后可以直接使用新密码登录


4.编译安装php

点击查看代码
`1、安装环境依赖包`
[root@localhost ~]#  yum -y install gd \    //安装依赖环境
> libjpeg libjpeg-devel \
> libpng libpng-devel \
> freetype freetype-devel \
> libxml2 libxml2-devel \
> zlib zlib-devel \
> curl curl-devel \
> openssl openssl-devel


`2、编译安装`
[root@localhost ~]#  cd /opt
[root@localhost opt]#  rz

[root@localhost opt]#  ls
Discuz_X3.4_SC_UTF8.zip  nginx-1.22.0  nginx-1.22.0.tar.gz  php-7.1.10.tar.bz2  rh
[root@localhost opt]#  tar xf php-7.1.10.tar.bz2   //解压
[root@localhost opt]#  ls
Discuz_X3.4_SC_UTF8.zip  nginx-1.22.0  nginx-1.22.0.tar.gz  php-7.1.10  php-7.1.10.tar.bz2  rh

[root@localhost opt]#  cd php-7.1.10/
[root@localhost php-7.1.10]#  ./configure \
> --prefix=/usr/local/php \
> --with-mysql-sock=/usr/local/mysql/mysql.sock \
> --with-mysqli \
> --with-zlib \
> --with-curl \
> --with-gd \
> --with-jpeg-dir \
> --with-png-dir \
> --with-freetype-dir \
> --with-openssl \
> --enable-fpm \
> --enable-mbstring \
> --enable-xml \
> --enable-session \
> --enable-ftp \
> --enable-pdo \
> --enable-tokenizer \
> --enable-zip
[root@localhost php-7.1.10]#  make -j2 && make install


`3、路径优化`
[root@localhost php-7.1.10]#  ln -s /usr/local/php/bin/* /usr/local/bin/ 
[root@localhost php-7.1.10]#  ln -s /usr/local/php/sbin/* /usr/local/sbin/


点击查看代码
`4、调整PHP配置文件`
php有三个配置文件: 
php.ini		主配置文件  
php-fpm.conf	进程服务配置文件 
www.conf          扩展配置文件


修改主配置文件
[root@localhost php-7.1.10]#  cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
[root@localhost php-7.1.10]#  vim /usr/local/php/lib/php.ini  
 939 date.timezone = Asia/Shanghai                       //修改时区
1170 mysqli.default_socket = /var/lib/mysql/mysql.sock   //指明mysql文件位置

修改进程服务配置文件
[root@localhost php-7.1.10]#  cd /usr/local/php/etc/
[root@localhost etc]#  ls
pear.conf  php-fpm.conf.default  php-fpm.d
[root@localhost etc]#  cp  php-fpm.conf.default php-fpm.conf
[root@localhost etc]#  vim php-fpm.conf
 17 pid = run/php-fpm.pid    //去掉";"注释

修改扩展配置文件
[root@localhost etc]#  cd /usr/local/php/etc/php-fpm.d/
[root@localhost php-fpm.d]#  ls
www.conf.default
[root@localhost php-fpm.d]#  cp www.conf.default www.conf
[root@localhost php-fpm.d]#  ls
www.conf  www.conf.default

点击查看代码
`5、启动php-fpm`
[root@localhost php-fpm.d]#  cd /opt/php-7.1.10/sapi/fpm
[root@localhost fpm]#  cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
[root@localhost fpm]#  systemctl daemon-reload 
[root@localhost fpm]#  systemctl start php-fpm.service 

[root@localhost fpm]#  ss -natp |grep 9000
LISTEN     0      128    127.0.0.1:9000                     *:*                   users:(("php-fpm",pid=15127,fd=0),("php-fpm",pid=15126,fd=0),("php-fpm",pid=15125,fd=6))

5.配置nginx支持php解析
修改主配置文件

点击查看代码
[root@localhost fpm]#  vim /usr/local/nginx/conf/nginx.conf
 
 45             index  index.html index.htm index.php;
 .................
 65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;    //注意路径!
 70             include        fastcgi_params;
 71         }
 
[root@localhost fpm]#  nginx -s reload

验证php测试页

点击查看代码
[root@localhost fpm]#  cd /usr/local/nginx/html/
[root@localhost html]#  ls
50x.html  index.html

[root@localhost html]#  vim index.php   //编辑一个测试页面
<?php
phpinfo();
?>
[root@localhost html]#  nginx -s reload

浏览器中输入192.168.204.40/index.php进行验证

验证数据库工作是否正常

点击查看代码
[root@localhost html]#  mysql -u root -p"abc123"

CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;

修改测试页内容

点击查看代码
[root@localhost html]#  vim /usr/local/nginx/html/index.php

<?php
$link=mysqli_connect('192.168.204.40','bbsuser','admin123');   //注意ip地址
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>

[root@localhost html]#  nginx -s reload

浏览器中输入192.168.204.40/index.php进行验证

安装论坛

点击查看代码
[root@localhost html]#  cd /opt
[root@localhost opt]#  ls
Discuz_X3.4_SC_UTF8.zip  nginx-1.22.0  nginx-1.22.0.tar.gz  php-7.1.10  php-7.1.10.tar.bz2  rh
[root@localhost opt]#  unzip Discuz_X3.4_SC_UTF8.zip   //解压

[root@localhost opt]#  cd /opt/dir_SC_UTF8/
[root@localhost dir_SC_UTF8]#  cp -r upload/ /usr/local/nginx/html/bbs/

[root@localhost dir_SC_UTF8]#  cd /usr/local/nginx/html/bbs/  //修改权限
[root@localhost bbs]#  chown -R nobody ./config/
[root@localhost bbs]#  chown -R nobody ./data/
[root@localhost bbs]#  chown -R nobody ./uc_client/
[root@localhost bbs]#  chown -R nobody ./uc_server/

浏览器访问安装

标签:架构,fpm,LNMP,nginx,--,php,root,localhost,搭建
From: https://www.cnblogs.com/leikj/p/18252666

相关文章

  • Docker搭建FRP+OPENVPN+Prometheus+Grafana 实现内网穿透以及流量监控
    Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控文章目录Docker搭建FRP+OPENVPN+Prometheus+Grafana实现内网穿透以及流量监控一、搭建Docker基础环境二、配置FRP,实现端口映射2.1使用Docker部署FRPFrps服务端(拥有公网IP)Frpc客户端(内网IP)三、搭建......
  • 微服务架构必备技术栈:万变不离其宗
    前言之前我们说过,微服务是一种软件设计、架构思想。当然,里面也包含了相关技术点要解决当前要务。学习微服务,我们不能空口而谈,一定要落实到具体的技术栈上。当今使用比较多两个技术体系,一个是Java,另外一个就是Net。废话不多说,今天我就把相关“微服务架构”所用到的技术栈罗列......
  • Jmeter分布式性能测试环境的搭建常见问题
     1.在负载机上安装jmeter,修改jmeter\bin\jmeter.properties配置:1)server.rmi.ssl.disable=false改server.rmi.ssl.disable=true,注释要去掉2)启动jmeter-server.bat2.在本地测试机修改jmeter.properties配置:1)在jmeter.properties中remote_hosts=127.0.0.1:1099,192.xxx......
  • 深入解读Netty中的NIO:原理、架构与实现详解
    深入解读Netty中的NIO:原理、架构与实现详解Netty是一个基于Java的异步事件驱动网络应用框架,广泛用于构建高性能、高可扩展性的网络服务器和客户端。Netty的核心是基于JavaNIO(Non-blockingI/O)的,因此理解Netty的实现需要先了解JavaNIO的基本概念和机制。JavaNIO简介Jav......
  • 微服务架构必备技术栈:万变不离其宗的奥义!
    前言之前我们说过,微服务是一种软件设计、架构思想。当然,里面也包含了相关技术点要解决当前要务。学习微服务,我们不能空口而谈,一定要落实到具体的技术栈上。当今使用比较多两个技术体系,一个是Java,另外一个就是Net。废话不多说,今天我就把相关“微服务架构”所用到的技术栈罗列......
  • CogVLM/CogAgent环境搭建&推理测试-CSDN博客
    引子最近在关注多模态大模型,之前4月份的时候关注过CogVLM(https://blog.csdn.net/zzq1989_/article/details/138337071?spm=1001.2014.3001.5501)。模型整体表现还不错,不过不支持中文。智谱AI刚刚开源了GLM-4大模型,套餐里面包含了GLM-4V-9B大模型,模型基于GLM-4-9B的多模态模型GL......
  • 基于全数字中频架构的低采样率频谱分析系统研究与实现(论文)
    目录第一章绪论III1.1课题来源及意义III1.2研究现状及发展态势III1.3课题研究内容III1.4论文特色IV第二章整体仿真与介绍52.1系统整体架构52.2系统整体模拟仿真52.3硬件开发平台选择与介绍6第三章数字下变频93.1信号下变频架构对比与选择93.2信......
  • 失败的程序员生涯系列(3)——第一次搭建商业化系统
             拿着800月薪的编辑岗,干了俩天的编辑活,开始接手开发团购网站。从现在的角度上来讲,有点不可思议,但这确实就是入门技术的起点。我之前在学校里面的技术基础,都是asp的网站居多,ASP网站最大的好处就是没有mysql概念,直接就是ACCESS,在OFFICE套装里面,是可以直接勾选这......
  • 一键搭建博客系统
    前言如今CSDN,博客园等充斥着大量的重复博客,有些甚至连样式都没有经过调整。为了寻求一个干净,简洁无广告的平台,选择了自己搭建一个博客,该系统使用的Halo2一键部署。 Halo一个强大易用的开源建站框架对比了很多博客系统,因为Halo外观更加简洁,并且使用Springboot开发(笔者Ja......
  • [0基础]如何搭建一个cs2d的服务器
    前言想要开一台24小时不间断的cd2d服务器?官方教程有些含糊?跟着教程来,包你学会看清标题,不是cs2,是cs2d!前期准备工作首先你需要一台云服务器或虚拟主机(如果自己有一台物理服务器,自行在目录中跳转相关内容)这里推荐雨云的美国洛杉矶极速二区【别问为什么不选延迟更低的香......