美文网首页
centos 7.2 搭建LNMP环境

centos 7.2 搭建LNMP环境

作者: zhaoxiaohui520 | 来源:发表于2020-05-12 22:20 被阅读0次

    一、nginx

    1: 下载 http://nginx.org/en/download.html
    选择 stable 版本下载

    image.png

    2: 解压
    tar zxf nginx.xxxx.tar.gz


    image.png

    3: 配置
    cd /usr/local/src/nginx里面
    ./configure --prefix=/usr/local/nginx
    如果提示缺少 pcre 库,
    则从 http://www.pcre.org/
    假设解压在/usr/local/src/pcre-8.37
    进入cd /usr/local/src/nginx 编译

    image.png
    make&& manke install
    image.png

    4.成功 安装在 usr/local/nginx


    image.png

    5.启动nginx
    cd /usr/local/nginx
    启动 ./sbin/nginx

    image.png
    1. 启动时,极易出现端口被占的错误,如下


      image.png

    7: 连接,从局域网内连接 nginx,
    如果连接不能,先 ping 测试,2 台机器之间网络是否通,
    再在服务器上 telnet localhost 80
    如果 2 者都能,但外界连不上 80 端口,则是防火墙的原因.
    service iptables stop
    再次连接,出现以下界面,则安装成功


    image.png

    二、php

    1.编译安装 PHP
    先安装扩展 yum install gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng
    libpng-devel

    2.wget 下载php 到目录 /usr/local/src/


    image.png

    2.1 解压 tar jxvf php-7.0.6.tar.bz2
    2.2 cd php-7.0.6

    image.png

    2.3编译
    解压,cd 到 php-5.x

    编译
    ./configure --prefix=/usr/local/php \
    --with-gd \
    --enable-gd-native-ttf \
    --enable-mysqlnd \
    --with-mysql=mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-openssl \
    --enable-mbstring \
    --enable-fpm
    安装
    make && make install
    
    image.png

    3.运行php

    image.png
    3.1出错 缺失文件
    image.png
    image.png

    3.2 运行步骤

    cd /usr/local/php
    拷贝文件
    cp etc/php-fpm.conf.default etc/php-fpm.conf
    源码文件 拷贝php.ini
    cp /usr/local/src/php-5.5.13/php.ini-development ./lib/php.ini
    ./sbin/php-fpm
    
    image.png

    三、整合 nginx 和 PHP

    cd /usr/local/nginx 到安装目录下
    cd conf/
    vim nginx.conf 打开这个文件


    image.png
    image.png
    image.png

    让 nginx 的最新配置文件生效

    ./sbin/nginx -s reload 重启

    再次请求 xx.php,看到如下类似效果,即整合成功


    image.png
    image.png

    四、CentOS7安装mysql5.5

    4.1、检查本地是否安装过其他版本的mysql

    rpm -qa|grep -i  mysql
    
    image.png

    由于有些版本自带的有mariadb,检查是否有mariadb,若是有需要先卸载

    yum -y remove maria*
    
    image.png

    4.2、下载mysql 5.5的服务器和客户端的安装包

    下载服务器包:wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.59-1.el7.x86_64.rpm
    
    下载客户端包:wget https://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.59-1.el7.x86_64.rpm
    
    若提示:-bash: wget: 未找到命令,则表明没有安装wget,执行安装命令:yum -y install wget
    
    

    4.3、安装服务器和客户端

    rpm -ivh --nodeps MySQL-server-5.5.59-1.el7.x86_64.rpm
    
    rpm -ivh --nodeps MySQL-client-5.5.59-1.el7.x86_64.rpm
    
    # --nodeps就是安装时不检查依赖关系,比如A.rpm需要B.rpm,但是没装B,这样就装不上,用了--nodeps就能装上了。
    

    查看安装的mysql是否已安装成功 :rpm -qa|grep -i mysql


    image.png

    4.4、启动mysql并设置mysql服务开机自启动

    启动mysql:service mysql start
    
    设置开机自启动:systemctl enable mysql 
    
    验证自启动是否成功:chkconfig --list|grep mysql
    
    image.png

    3,4,5都是开则说明设置成功

    4.5、登录mysql并设置密码

    mysql -uroot
    
    set password=password('root');
    
    image.png

    4.6、开启mysql的远程登录

    grant all privileges on *.* to 'root'@'%' identified by 'root';  #权限放大到任何一台机器都可以远程登录
    
    flush privileges;
    
    image.png
    关闭防火墙:systemctl stop firewalld
    设置开机禁用防火墙:systemctl disable firewalld.service
    
    image.png

    systemctl和防火墙firewalld命令 见下图

    一、防火墙的开启、关闭、禁用命令
     
    (1)设置开机启用防火墙:systemctl enable firewalld.service
     
    (2)设置开机禁用防火墙:systemctl disable firewalld.service
     
    (3)启动防火墙:systemctl start firewalld
     
    (4)关闭防火墙:systemctl stop firewalld
     
    (5)检查防火墙状态:systemctl status firewalld 
     
    二、使用firewall-cmd配置端口
     
    (1)查看防火墙状态:firewall-cmd --state
     
    (2)重新加载配置:firewall-cmd --reload
     
    (3)查看开放的端口:firewall-cmd --list-ports
     
    (4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
     
      命令含义:
     
      –zone #作用域
     
      –add-port=9200/tcp #添加端口,格式为:端口/通讯协议
     
      –permanent #永久生效,没有此参数重启后失效
     
      注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
     
    (5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent
    
    

    五、thinkphp5.1官网推荐配置

    按照官网要求做的全部配置代码: 
    server { 
        listen   80 ; 
        server_name  www.d5.com; 
        root /var/www/tptest/public; 
        index index.php index.html ; 
        location / { 
           if (!-e $request_filename) { 
               rewrite  ^(.*)$  /index.php?s=/$1  last; 
           } 
        } 
        location ~ \.php { 
            include fastcgi_params; 
            fastcgi_pass   127.0.0.1:9000; 
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
            fastcgi_param  PATH_INFO  $fastcgi_path_info; 
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info; 
        } 
    } 
    

    六、上传thinkphp项目到Nginx下访问报错解决

    问题:
    file_put_contents(/usr/local/nginx/html/zh/runtime/temp/46fbd9967d0da6b1fa7264089cc6c118.php): failed to open stream: Permission denied


    image.png

    tp5.1通过WinSCP上传到服务器时访问报错
    原因是文件上传时权限被修改了
    直接到项目文件夹下给Nginx授予文件执行权限

    cd /usr/local/nginx/html/
    setfacl -m u:nginx:rwx -R ../html
    //或者 chown -R 777
    

    七、Centos 文件权限修改

    1.查看权限

    ls -l dirPath

    2.修改权限,root权限执行(-R 子目录的权限都会改变)

    chmod -R 777 dirPath

    相关文章

      网友评论

          本文标题:centos 7.2 搭建LNMP环境

          本文链接:https://www.haomeiwen.com/subject/iaginhtx.html