LNMP all-in-one

0.原理:

1.fastCGI是nginx和php之间的一个通信接口,该接口实际处理过程通过启动php-cgi进程来解析php动态脚本,spawn-fcgi相当于一个动态应用服务器用来启动和运行php-cgi进程,从而实现nginx解析php。

2.Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。


1.环境的配置

使用的软件:VMware workstation 12.5.6 链接:http://pan.baidu.com/s/1kUPoqkn 密码:1cqk

安装的系统:CentOS-7-x86_64-Minimal-1511.iso  链接:http://pan.baidu.com/s/1gffB0xt 密码:49tu

虚拟机配置:内存:1GB  处理器:1  硬盘:20GB 

虚拟机网络:NAT模式



2.网络配置

[root@localhost home]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vi ifcfg-eno16777736 修改网络配置文件

TYPE=Ethernet 网卡类型
BOOTPROTO=dhcp 获取地址的方式
NAME=eno16777736 网卡名称
PEERDNS=yes 启动网络时是否修改/etc/resolv.conf
HWADDR=00:0c:29:cd:c1:73 MAC地址
DEVICE=eno16777736 设备名称
ONBOOT=yes 是否启用网卡

[root@localhost network-scripts]# systemctl restart network

[root@localhost home]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:cd:c1:73 brd ff:ff:ff:ff:ff:ff
    inet 192.168.17.130/24 brd 192.168.17.255 scope global dynamic eno16777736
       valid_lft 1674sec preferred_lft 1674sec
    inet6 fe80::8d16:1719:41d0:1577/64 scope link 
       valid_lft forever preferred_lft forever

3.软件安装

[root@localhost ~]# yum -y update
[root@localhost ~]# yum -y install wget net-tools vim unzip

[root@localhost ~]# yum -y install php-mysql php maridb mariadb-server

用xftp传输文件 nginx-1.8.0-1.el7.ngx.x86_64.rpm spawn-fcgi-1.6.3-5.el7.x86_64.rpm 链接:http://pan.baidu.com/s/1c2Cl8yc 密码:an0u

[root@localhost ~]# rpm -ivh nginx-1.8.0-1.el7.ngx.x86_64.rpm

[root@localhost ~]# rpm -ivh spawn-fcgi-1.6.3-5.el7.x86_64.rpm

4.修改配置文件

[root@localhost ~]# vim /etc/sysconfig/spawn-fcgi

OPTIONS="-u nginx -g nginx -p 9000 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

[root@localhost ~]# cd /etc/nginx/conf.d/

[root@localhost conf.d]# cp default.conf www.conf

[root@localhost conf.d]# vim www.conf

server {
    listen       80;
    server_name  localhost;
    index index.php index.html;
    root /home/www;
    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;
    location / {
        root   /home/www;
        index  index.html index.htm index.php;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/www$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

[root@localhost conf.d]# mv default.conf default.conf.bak

[root@localhost ~]# setenforce 0 关闭seliunx

[root@localhost ~]# vim /etc/selinux/config 开机默认关闭selinux

SELINUX=disabled

[root@localhost ~]# systemctl stop firewalld   关闭防火墙

[root@localhost ~]# systemctl mask firewalld 开机默认关闭防火墙

[root@localhost ~]# mkdir /home/www

用xftp传输文件Discuz_X3.2_SC_UTF8.zip

[root@localhost ~]# unzip Discuz_X3.2_SC_UTF8.zip

[root@localhost ~]# mv upload/* /home/www

[root@localhost ~]# chown -R nginx:nginx /home/www

[root@localhost ~]# vim /etc/php.ini 

short_open_tag = On

5.启动服务

[root@localhost ~]# systemctl start spawn-fcgi 启动spawn-fcgi服务

[root@localhost ~]# systemctl enable spawn-fcgi 开机默认启动spawn-fcgi服务

添加不上 echo "/sbin/chkconfig spawn-fcgi on" >> /etc/rc.local

[root@localhost ~]# systemctl start nginx 启动nginx

[root@localhost ~]# systemctl enable nginx 开机默认启动nginx

[root@localhost ~]# systemctl start mariadb 启动mariadb

[root@localhost ~]# systemctl enable mariadb 开机默认启动mariadb

[root@localhost ~]# mysqladmin -uroot password 设置mysql,root密码

enter: 123.com

6.打开网页
192.168.17.130

进入安装界面


我同意

下一步


全新安装 Discuz! X

下一步


下一步





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装LNMP(Linux + Nginx + MySQL + PHP)环境,可以使用Docker Compose来简化安装过程。首先,确保已经安装了Docker,然后按照以下步骤安装docker-compose。 方法一: 1. 使用curl命令下载docker-compose二进制文件:curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2. 授予docker-compose执行权限:chmod +x /usr/local/bin/docker-compose 3. 验证安装:docker-compose --version 方法二: 1. 提前下载docker-compose安装包,并上传到系统中(例如/opt目录)。 2. 在命令行中切换到安装包所在的目录:cd /opt/ 3. 授予docker-compose执行权限:chmod +x docker-compose 4. 将docker-compose移动到/usr/local/bin目录:mv docker-compose /usr/local/bin/ 5. 验证安装:docker-compose --version 安装docker-compose后,可以使用docker-compose.yml文件来定义和管理LNMP环境的容器。在工作目录下,使用以下命令来启动容器并在后台运行: docker-compose -f docker-compose.yml up -d 可以使用以下命令来查看已启动容器的状态: docker-compose ps 通过以上步骤,您可以使用docker-compose安装和管理LNMP环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用 Docker-compose 搭建lnmp](https://blog.csdn.net/m0_71931851/article/details/128195165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值