精华内容
下载资源
问答
  • Linux搭建LNMP环境

    千次阅读 2019-06-15 15:26:48
    Linux搭建LNMP环境必备工具lrzszVIMgcc-c++wget挂载磁盘NginxMySQLPHP系统部署 必备工具 lrzsz yum install -y lrzsz lrzsz(Linux服务器和window互传文件工具) sz /文件名:将选定的文件发送(send)到本地...

    必备工具

    • lrzsz

    yum install -y lrzsz
    

    lrzsz(Linux服务器和window互传文件工具)
    sz /文件名:将选定的文件发送(send)到本地机器
    rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

    • VIM

    rpm -qa|grep vim  #查询一个包是否被安装
    

    如果 vim 已经正确安装,会返回下面的三行代码:

    [root@centos]# rpm -qa |grep vim
    vim-minimal-7.0.109-6.el5
    vim-common-7.0.109-7.2.el5
    vim-enhanced-7.0.109-7.2.el5

    • gcc-c++

    yum -y install gcc-c++
    
    • wget

    yum -y install wget
    

    挂载磁盘

    查看磁盘使用

    fdisk -l
    

    格式化磁盘使用

    mkfs.xfs -f 磁盘名
    

    查看磁盘使用情况

    df -lh
    

    挂载容量最大的磁盘到/data,挂载磁盘命令:mount 磁盘名称 目录,例:

    mount /dev/vdb /data
    

    自动在开机时挂载磁盘:

    vim /etc/fstab
    

    在末行添加

    #磁盘名称            目录             磁盘格式      ----                 - - - -
    /dev/vdb             /data                xfs        defaults              1 1
    

    Nginx

    创建软件目录,方便管理

    mkdir -p /application/tools
    

    下载Nginx

    cd /application/tools
    wget http://nginx.org/download/nginx-1.14.0.tar.gz
    tar xf nginx-1.14.0.tar.gz
    

    安装Nginx依赖

    yum install -y pcre-devel openssl-devel
    

    pcre-devel 让nginx拥有正则的能力,rewrite等都需要正则匹配
    openssl-devel 让nginx拥有开启https的能力。

    创建Nginx管理用户

    useradd -s /sbin/nologin -M nginx
    

    编译配置Nginx

    cd /application/tools/nginx-1.14.0
    ./configure --prefix=/application/nginx-1.14.0 --user=nginx --group=nginx --with-http_stub_status_module  --with-http_ssl_module
    

    –prefix=/application/nginx-1.14.0 置编译安装目录
    –user=nginx 配置nginx的管理用户为nginx用户
    –group=nginx 配置nginx的管理组为nginx组
    –with-http_stub_status_module 配置使用Nginx的监控模块
    –with-http_ssl_module 配置应用认证模块(https需要此模块,需要openssl-devel依赖

    编译安装Nginx

    make && make install
    

    为Nginx安装目录创建软链接(方便以后管理)

    ln -s /application/nginx-1.14.0/ /application/nginx
    

    为Nginx命令创建软链接加进root环境变量(方便使用)

    ln -s /application/nginx/sbin/nginx /sbin/
    

    精简化Nginx配置文件

    sed -i "/^$/d;/#/d" /application/nginx/conf/nginx.conf
    

    添加systemctl启动脚本

    cat > /usr/lib/systemd/system/nginx.service << EOF
    [Unit]
    Description=nginx
    Documentation=http://nginx.org/en/docs/
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    ExecStartPre=/application/nginx/sbin/nginx -t -c /application/nginx/conf/nginx.conf
    ExecStart=/application/nginx/sbin/nginx -c /application/nginx/conf/nginx.conf
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    EOF
    

    启动Nginx

    nginx
    或者
    systemctl start nginx
    

    查看Nginx进程

     ps -ef | grep [n]ginx
     pgrep -lf nginx
    

    测试Nginx服务端口(80)

    ss -lnt | grep 80
    lsof -i:80
    netstat -lntup | grep nginx
    

    curl测试Nginx首页

    curl -s 本机IP
    

    有看到Welcome to nginx!就是成功了

    把Nginx添加到启动项

    cd /etc/rc.d && chmod +x rc.local && vim rc.local
    

    在末尾添加以下命令:

    #开机启动Nginx
    nginx
    

    重新加载nginx配置
    nginx -s reload

    MySQL

    安装MySQL依赖环境

    yum install  -y  ncurses-devel libaio-devel autoconf numactl
    

    ncurses-devel提供字符终端处理库
    libaio-devel包的作用是为了支持同步I/O

    下载MySQL

    cd /application/tools
    wget http://tel.mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    

    删除mariadb组件

    rpm -qa | grep mariadb
    [结果1]
    [结果2]
    ……
    yum remove [结果1] [结果2] ……
    

    下载依赖环境

    yum install  -y  bison-devel ncurses-devel libaio-devel gcc gcc-c++ automake autoconf numactl
    

    解压MySQL5.7

    tar xf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz -C /application
    mv /application/mysql-5.7.25-linux-glibc2.12-x86_64  /application/mysql-5.7.25
    ln -s /application/mysql-5.7.25/ /application/mysql
    

    创建管理用户&&授权

    useradd -s /sbin/nologin -M mysql
    chown -R mysql.mysql /application/mysql-5.7.25/
    

    创建目录和文件并且分配属主和属组

    mkdir -p /data/mysql/{data,logs}
    touch /data/mysql/logs/{mysql-error.log,mysql-slow.log}
    chown -R mysql.mysql /data/mysql
    mkdir /var/run/mysql
    chown -R mysql.mysql /var/run/mysql
    

    初始化数据库

    /application/mysql/bin/mysqld --initialize-insecure --basedir=/application/mysql/ --datadir=/data/mysql/data --user=mysql
    

    –initialize-insecure选项参数可以不自动生成初始root密码。

    复制脚本及PATH变量赋值

    \cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod 700 /etc/init.d/mysqld
    echo 'PATH=$PATH:/application/mysql/bin' >> /etc/profile
    source /etc/profile
    

    编辑配置文件

    vim /etc/my.cnf
    
    [mysql]
    
    # CLIENT #
    port                           = 24824
    socket                         = /tmp/mysql.sock
    
    [mysqld]
    
    # GENERAL #
    user                           = mysql
    default-storage-engine         = InnoDB
    socket                         = /tmp/mysql.sock
    pid-file                       = /var/run/mysql/mysql.pid
    basedir                        = /application/mysql
    server-id                      = 1
    port                           = 24824
    default-time-zone              = '+08:00'
    
    # MyISAM #
    key-buffer-size                = 32M
    myisam-recover-options         = FORCE,BACKUP
    
    # SAFETY #
    max-allowed-packet             = 16M
    max-connect-errors             = 1000000
    skip-name-resolve
    #sql-mode                       = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_VALUE_ON_ZERO
    sql-mode                       = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_VALUE_ON_ZERO
    sysdate-is-now                 = 1
    innodb                         = FORCE
    secure-file-priv               = ''
    
    # DATA STORAGE #
    datadir                        = /data/mysql/data/
    
    # BINARY LOGGING #
    log-bin                        = /data/mysql/data/mysql-bin
    expire-logs-days               = 14
    binlog-format                  = mixed
    sync-binlog                    = 1
    #GTID:
    gtid-mode                      = on
    enforce-gtid-consistency       = on
    
    # CACHES AND LIMITS #
    tmp-table-size                 = 32M
    max-heap-table-size            = 32M
    query-cache-type               = 0
    query-cache-size               = 0
    max-connections                = 500
    thread-cache-size              = 50
    open-files-limit               = 65535
    table-definition-cache         = 1024
    table-open-cache               = 200
    
    # INNODB #
    innodb-flush-method            = O_DIRECT
    innodb-log-files-in-group      = 2
    innodb-log-file-size           = 256M
    innodb-flush-log-at-trx-commit = 1
    innodb-file-per-table          = 1
    innodb-buffer-pool-size        = 8G
    
    # LOGGING #
    log-error                      = /data/mysql/logs/mysql-error.log
    log-queries-not-using-indexes  = 1
    slow-query-log                 = 1
    slow-query-log-file            = /data/mysql/logs/mysql-slow.log
    

    启动MySQL

    /etc/init.d/mysqld start
    

    初始化root密码

    mysql_secure_installation
    ==========================================================================
    secure enough. Would you like to setup VALIDATE PASSWORD plugin?
    
    Press y|Y for Yes, any other key for No: n
    
    New password: <==此处输入新密码(如果低于八位数密码,稍后会有系统提示)
    
    Re-enter new password: <==此处重复输入新密码
    
    Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
    Success.
    Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n
    
    Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
     - Dropping test database...
    Success.
    
     - Removing privileges on test database...
    Success.
    
    Reloading the privilege tables will ensure that all changes
    made so far will take effect immediately.
    
    Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
    Success.
    
    All done! 
    
    

    把MySQL添加进启动项

    cd /etc/rc.d && chmod +x rc.local && vim rc.local
    

    在末尾添加以下命令

    #开机启动mysql
    mkdir -p /var/run/mysql
    chown -R mysql.mysql /var/run/mysql
    /etc/init.d/mysqld start
    

    关闭防火墙

    查看防火墙是否开启

    firewall-cmd --state
    

    如果是running的话,使用以下命令关闭防火墙

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    

    重启MySQL

    systemctl restart mysqld.service ,或者
    /etc/init.d/mysqld [stop|start|restart|reload]
    

    PHP

    添加webtatic的PHP的yum源

    yum install epel-release
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    

    安装PHP及PHP常用模块

    yum install -y php72w-fpm php72w-opcache php72w-mysql php72w-common php72w-cli php72w-devel php72w-mbstring php72w-xml
    

    启动PHP

    systemctl start php-fpm
    或
    php-fpm     ##使用了此方法启动,在使用systemctl关闭php-fpm就会报错,此时如果要重启php只能够使用kill
    

    检查端口与进程
    端口
    php默认启用9000端口,如果使用使用socket,那么php就不会再监听端口

    ss -lnt | grep 9000
    

    进程

    ps -ef | grep [p]hp
    或
    pgrep -lf php-fpm
    

    修改PHP的管理用户

    sed -i 's/apache/nginx/g' /etc/php-fpm.d/www.conf
    systemctl restart php-fpm
    ps -ef | grep [p]hp-fpm
    

    此时再查看,就发现php已更改启动用户为nginx

    把PHP添加到启动项

    cd /etc/rc.d && chmod +x rc.local && vim rc.local
    

    在末尾添加以下命令:

    #开机启动PHP
    systemctl start php-fpm.service   #centOS 7 使用
    service php-fpm start   #centOS 6 使用
    

    php.ini 参数参考

    date.timezone = "Asia/Shanghai"	时区设置
    max_execution_time = 1800	每个脚本的最大执行时间,单位秒
    pdo_mysql.default_socket = /tmp/mysql.sock	
    

    重启PHP

    systemctl restart php-fpm.service 
    或者
    service php-fpm restart 
    

    系统部署

    核对时区
    在进行下面的系统部署之前,务必使系统时间、MySQL时间、php时间与当地时间保持一致,即时区一致,比如都是东八区。
    查看系统时间

    date
    

    登录MySQL,查看MySQL时间

    mysql -uroot -p
    输入密码
    select now();
    

    查看php时间

    vim time.php
    <?php
    echo date('Y-m-d H:i:s',time());
    保存退出,然后执行
    php time.php
    

    LNMP环境搭建完成

    展开全文
  • Linux搭建lnmp环境

    2021-11-24 11:52:02
    https://zhuanlan.zhihu.com/p/34422328

    https://zhuanlan.zhihu.com/p/34422328

    展开全文
  • linux搭建lnmp环境

    2020-12-22 21:44:11
    (php7.3.5 + nginx1.16 + mysql8)1、准备#新建目录,/lnmp/php7、/lnmp/nginxmkdir -p /lnmp/php7mkdir /lnmp/nginx#安装依赖yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-...

    (php7.3.5 + nginx1.16 + mysql8)

    1、准备

    #新建目录,/lnmp/php7、/lnmp/nginx

    mkdir -p /lnmp/php7

    mkdir /lnmp/nginx

    #安装依赖

    yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libxml2-devel libpng-devel curl-devel numactl

    2、安装nginx

    cd /lnmp

    yum -y install wget#安装wget

    wget http://nginx.org/download/nginx-1.16.0.tar.gz#下载nginx

    tar xvf nginx-1.16.0.tar.gz#解压

    cd nginx-1.16.0

    ./configure --prefix=/lnmp/nginx --with-http_ssl_module#安装到/lnmp/nginx

    make && make install#编译&安装

    cp /lnmp/nginx/sbin/nginx /usr/bin/

    nginx #开启

    nginx -s stop#关闭

    nginx -s reload#平滑重启

    安装后可能会遇到的问题

    #nginx配置位置:/lnmp/nginx/conf/nginx.conf

    #站点目录位置:/lnmp/nginx/html

    #搭好后,本地无法访问

    #关闭防火墙

    sudo systemctl stop firewalld

    #允许访问80端口

    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    #此时就可以访问了

    4、安装php

    cd /lnmp

    wget https://www.php.net/distributions/php-7.3.5.tar.gz

    tar xvf php-7.3.5.tar.gz

    cd php-7.3.5

    ./configure --prefix=/lnmp/php7 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd

    make && make install

    cp php.ini-development /lnmp/php7/lib/php.ini

    cd /lnmp/php7/etc/

    #重命名

    mv php-fpm.conf.default php-fpm.conf

    mv php-fpm.d/www.conf.default php-fpm.d/www.conf

    cp /lnmp/php7/sbin/php-fpm /usr/bin/

    #修改配置文件php.ini,(/lnmp/php7/lib/php.ini)

    cgi.fix_pathinfo=0

    php-fpm#开启

    killall php-fpm#关闭

    安装后可能会遇到的问题

    #访问php文件,变成下载

    vi /lnmp/nginx/conf/nginx.conf

    #找到下面这段,将注释去掉

    ###

    location ~ \.php$ {

    root html;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    }

    ###

    #访问php文件,出现No input file specified

    将上面的location ~ \.php$ {...}

    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

    替换为

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    #保存重启nginx

    nginx -s reload

    5、安装mysql

    cd /lnmp

    #下载

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

    #解压

    tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz

    #移到lnmp目录,重命名mysql

    mv mysql-8.0.18-linux-glibc2.12-x86_64 /lnmp/mysql

    cd /lnmp/mysql

    mkdir data  #用于存放数据

    #创建mysql用户组和mysql用户

    groupadd mysql

    useradd -g mysql mysql

    #修改mysql目录权限

    chown -R mysql.mysql /lnmp/mysql/

    #初始化

    bin/mysqld --initialize --user=mysql --basedir=/lnmp/mysql --datadir=/lnmp/mysql/data

    #初始化后,出现一大串,最后面的为临时密码

    xxx xxx xxx A temporary password is generated for root@localhost: mhr#qEJO+7?h

    #修改配置文件

    vim /etc/my.cnf

    ###

    [mysqld]

    basedir = /lnmp/mysql

    datadir = /lnmp/mysql/data

    socket = /tmp/mysql/mysql.sock

    character-set-server=utf8

    port = 3306

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [client]

    socket = /tmp/mysql/mysql.sock

    default-character-set=utf8

    ###

    #新建&修改目录权限

    mkdir -p /tmp/mysql/

    chmod -R 777 /tmp/mysql

    chown -R mysql:mysql /tmp/mysql/

    #配置mysql服务

    cp -a ./support-files/mysql.server /etc/init.d/mysqld

    chmod +x /etc/rc.d/init.d/mysqld

    chkconfig --add mysqld

    #配置全局环境变量

    vim /etc/profile

    #profile文件中添加

    ###

    export PATH=$PATH:/lnmp/mysql/bin:/lnmp/mysql/lib

    export PATH

    ###

    #让环境变量设置立即生效

    source /etc/profile

    #启动mysql

    service mysqld start

    #登录mysql

    mysql -uroot -pmhr#qEJO+7?h

    #修改密码

    alter user 'root'@'localhost' identified by 'root';

    展开全文
  • LINUX 系统LNMP环境搭建

    2020-09-17 16:41:12
    一、LNMP环境准备 1、操作系统 CentOS7(CentOS7.6全英文,最小化安装) 2、部署规划 编号 主机名称 IP地址(公网IP) 角色 1 web01.itcast.cn 192.168.40.35 Web01服务器 我们一般对外提供服务的服务器的IP地址...

    企业级架构之LNMP

    一、LNMP环境准备

    1、操作系统

    CentOS7(CentOS7.6全英文,最小化安装)

    2、部署规划

    编号 主机名称 IP地址(公网IP) 角色
    1 web01.itcast.cn 192.168.40.35 Web01服务器

    我们一般对外提供服务的服务器的IP地址,通常要采用公网IP。(需要单独申请购买)

    3、LNMP环境准备

    第一步:克隆母机或模板机,生成Web01服务器

    第二步:更改主机名称,统计使用FQDN格式,如web01.itcast.cn

    # hostnamectl set-hostname web01.itcast.cn
    # su
    

    第三步:更改服务器的IP地址(使用静态模式,绑定公网IP)

    # vim /etc/sysconfig/network-scripts/ifcfg-ens33
    ...
    IPADDR=10.1.1.11
    NETMASK=255.255.255.0
    GATEWAY=10.1.1.2
    DNS1=8.8.8.8
    DNS2=119.29.29.29
    ...
    

    第四步:绑定主机名称以及IP地址到/etc/hosts文件中,然后重启网络

    # vim /etc/hosts
    10.1.1.11 web01 web01.itcast.cn
    
    # systemctl restart network
    

    第五步:关闭防火墙、SELinux以及NetworkManager

    # systemctl stop firewalld
    # systemctl disable firewalld
    
    # setenforce 0
    # sed -i '/SELINUX=enforcing/cSELINUX=disabled' /etc/selinux/config
    等价于
    # vim /etc/selinux/config
    SELINUX=disabled
    
    # systemctl stop NetworkManager
    # systemctl disable NetworkManager
    

    第六步:配置YUM源(建议使用腾讯或清华)

    # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
    # yum clean all
    # yum makecache
    

    第七步:ntpdate时间同步并开启ntpd自动同步

    # ntpdate ntp.aliyun.com
    
    # yum install ntp -y
    # systemctl start ntpd
    # systemctl enable ntpd
    

    4、LNMP工作原理

    LNMP = Linux + Nginx(占用80) + MySQL(3306) + PHP(独立软件,占用9000)
    二、LNMP环境部署

    1、MySQL软件

    瑞典AB公司,MySQL默认编码 =>latin1 => 甲骨文(Oracle),Oracle MySQL

    MySQL安装一共有3种安装方式:

    ① YUM安装(单独配置YUM源) ② GLIBC二进制软件包安装 ③ 基于MySQL源码方式安装

    使用YUM安装MySQL软件时,必须要单独配置YUM源;否则安装的就是MariaDB。

    MySQL官网网站:http://www.mysql.com

    2、MySQL软件的安装

    前期规划:

    安装目录 数据目录 默认端口 套接字(关键)
    /usr/local/mysql /usr/local/mysql/data 3306 /tmp/mysql.sock
    第一步:上传MySQL软件包(5.7.31版本)到Web01服务器端

    第二步:解压MySQL软件包,然后移动到/usr/local目录下,起名为mysql

    # rm -rf /usr/local/mysql
    # tar -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
    # mv mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql
    

    第三步:创建一个特定的mysql账号,用于启动与运行mysql软件

    # useradd -r -s /sbin/nologin mysql
    

    第四步:进入/usr/local/mysql目录,创建mysql-files文件夹

    # cd /usr/local/mysql
    # mkdir mysql-files
    

    第五步:更改mysql-files文件夹权限(拥有者与所属组以及文件夹权限750)

    # chown mysql.mysql mysql-files
    # chmod 750 mysql-files
    

    第六步:删除默认配置文件my.cnf,然后初始化MySQL

    # rm -rf /etc/my.cnf
    # bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql
    [Note] A temporary password is generated for root@localhost: Alr;otc8igyG
    根据需要决定是否开启SSL加密传输
    # bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
    

    第七步:添加环境变量,启动MySQL,进入mysql,更改mysql的默认密码

    # echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
    # source /etc/profile
    
    # cp support-files/mysql.server /etc/init.d/mysqld
    # service mysqld start
    
    # mysql -p
    Enter password:Alr;otc8igyG
    
    mysql> set password='123';
    mysql> flush privileges;
    

    第八步:进行数据库的安全初始化

    # mysql_secure_installation
    

    第九步:配置mysqld服务随开机自动启动

    # chkconfig --list
    # chkconfig --add mysqld
    # chkconfig mysqld on
    

    第一步:联网,安装Nginx软件所需的依赖库

    # yum install pcre-devel zlib-devel openssl-devel -y
    

    第二步:对Nginx软件包进行解压缩操作

    # tar -xf nginx-1.16.0.tar.gz
    

    第三步:创建一个www账号

    # useradd -r -s /sbin/nologin www
    

    第四步:使用./configure对Nginx软件进行配置(对软件安装包进行配置)

    # cd nginx-1.16.0
    # ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
    

    #####第五步: 编译与安装Nginx软件

    # make && make install
    

    PHP软件编译安装

    PHP5.4、PHP5.6、PHP7版本(性能爆表)

    第一步:安装依赖库

    # yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel openssl-devel
    

    第二步:解压PHP软件包

    # tar -xf php-7.2.12.tar.gz
    # cd php-7.2.12
    

    第三步:源码安装三步走(① 配置 ② 编译 ③ 安装)

    # ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --with-libzip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
    
    # make && make install
    

    让Nginx可以转发PHP代码到PHP-FPM
    第一步:进入/usr/local/nginx目录,然后把conf/nginx.conf文件进行备份

    # cd /usr/local/nginx
    # cp conf/nginx.conf conf/nginx.conf.bak
    

    第二步:使用grep过滤conf/nginx.conf文件,只显示非注释内容

    # grep -Ev '#|^$' conf/nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            location / {
                root   html;
                index  index.html index.htm;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    

    第三步:去除http模块中的root选项(项目目录),只在server模块中保留一个即可

    # vim conf/nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            root html;					=>			整个server只保留一个root选项
            location / {
                index  index.html index.htm;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            }
        }
    }
    

    第四步:添加PHP支持,让Nginx可以识别.php文件,然后转发给9000端口

    # vim conf/nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       80;
            server_name  localhost;
            root html;					=>			整个server只保留一个root选项
            location / {
                index  index.html index.htm;
            }
            ------------------ 华丽的分割线 --------------------
            location ~ \.php$ {
            	fastcgi_pass   127.0.0.1:9000;
            	fastcgi_index  index.php;
            	fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            	include        fastcgi_params;
            }
            ------------------ 华丽的分割线 --------------------
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            }
        }
    }
    

    设置完成后,重启Nginx软件(重载reload)

    # systemctl reload nginx
    

    第五步:编写php测试文件,查看是否可以运行

    # vim /usr/local/nginx/html/demo.php
    <?php
    	phpinfo();
    ?>
    
    展开全文
  • linuxLNMP环境搭建

    千次阅读 2018-04-13 12:01:19
    LNMPlinux、nginx、mysql、php的简写;LNMP与LAMP环境一样也是用来做web网站后台的,nginx是轻量级的,进程间的通讯使用php-fpm独立使用;apache则是比较臃肿的,调用php的模块来完成的,需要加载很多模块,运行...
  • Linux搭建lnmp环境 版本: PHP7.3.5 Nginx1.16 Mysql8.0 一、准备内容 1.新建目录 mkdir -p /lnmp/src 2.安装依赖 yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel ...
  • 本篇主要讲解了基于LinuxLNMP测试环境搭建
  • 大家应该都知道LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。Nginx...
  • 环境版本为 nginx 1.15.8 php 7.2.0 mysql 5.7.22 一、先安装Nginx 1、安装依赖包 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2、下载并解压安装包 wget ...
  • 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目。CentOS中安装软件有好几种方式,我经常...
  • linuxlnmp环境搭建

    2016-09-06 15:27:47
    再安装之前大家可以先看一下lamp的安装过程 http://blog.csdn.net/zph1234/article/details/51248124 1.安装nginx [python] view plain copy yum install yum-priorities -y wget ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,937
精华内容 4,774
关键字:

linux搭建lnmp环境

linux 订阅