基于阿里云服务器环境搭建到项目上线系列文章之二——搭建LNMP环境

31 篇文章 0 订阅
24 篇文章 0 订阅

基于阿里云服务器环境搭建到项目上线系列
前言:最近购买了域名和一台阿里云服务器准备做点东西放上去,所以准备把环境搭建到项目上线的过程记录下来,计划一个系列6篇文章

  1. 基于阿里云服务器环境搭建到项目上线系列文章之一——putty使用秘钥登录远程服务器
  2. 基于阿里云服务器环境搭建到项目上线系列文章之二——搭建LNMP环境
  3. 基于阿里云服务器环境搭建到项目上线系列文章之三——安装git
  4. 基于阿里云服务器环境搭建到项目上线系列文章之四——安装composer
  5. 基于阿里云服务器环境搭建到项目上线系列文章之五——项目仓库github基本使用
  6. 基于阿里云服务器环境搭建到项目上线系列文章之六——项目部署

基于阿里云服务器环境搭建到项目上线系列文章之二——搭建LNMP环境

安装环境

  • Linux CentOS7.4 64位
  • PHP 7.3.6
  • Nginx 1.8
  • MySQL 5.7

PHP安装

提示:由于网络原因,方式1和方式2下载速度可能非常慢,可以通过方式3使用迅雷下载到本地,然后上传到服务器即可(如果网络不好,推荐方式3),具体视情况而定。

  1. 下载解压 php-7.3.6.tar.gz
    方式1:

    cd /root/
    wget http://cn2.php.net/get/php-7.3.6.tar.xz/from/this/mirror
    tar -xvf mirror 
    

    方式2:

    cd /root/
    wget https://www.php.net/distributions/php-7.3.6.tar.gz
    tar -zxvf php-7.3.6.tar.gz
    

    方式3:

    下载地址:https://www.php.net/downloads.php
    下载到本地后通过ftp等工具上传到服务器上自己习惯的目录,我这里上传到了root目录下
    cd /root/
    tar -zxvf php-7.3.6.tar.gz
    
  2. 安装 php-7.3.6

    cd php-7.3.6
    

    安装依赖:

    yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel libzip*
    

    更新软件扩展

    yum -y upgrade
    

    安装或更新cmake

    卸载低版本cmake
    yum -y remove cmake
    cd /root/
    wget https://cmake.org/files/v3.10/cmake-3.10.2-Linux-x86_64.tar.gz
    tar zxvf cmake-3.10.2-Linux-x86_64.tar.gz
    export CMAKE_HOME=/root/cmake-3.10.2-Linux-x86_64
    export PATH=$PATH:$CMAKE_HOME/bin
    source /etc/profile
    

    此时,你再次查看cmake版本,就已经是3.10.2了:

    cmake -version
    

    配置php (现在只是安装一下必要的扩展,等你需要额外的扩展完全可以以后再安装)

    cd /root/php-7.3.6
    ./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo -enable-tokenizer --enable-zip
    

    配置解释:

    –prefix=/usr/local/php 这个是你的安装目录
    –with-mysqli 这个是mysqli扩展
    –with-fpm-user=nginx fpm用户
    –with-fpm-group-nginx fpm用户组

    此时会有错误提示如下:

    checking for libzip... configure: error: system libzip must be upgraded to version >= 0.11
    

    解决方案:

    卸载低版本:
    yum  -y remove libzip-devel
    下载安装新版本:
    cd /root/php-7.3.6
    wget https://libzip.org/download/libzip-1.5.1.tar.gz
    tar -zxvf libzip-1.5.1.tar.gz
    cd libzip-1.5.1
    mkdir build
    cd build
    cmake ..
    make && make install
    cd /root/php-7.3.6/
    

    再次执行./configure内容,错误提示:

    configure: error: off_t undefined; check your library configuration
    

    解决方案:

    vim /etc/ld.so.conf 
    #添加如下几行
    /usr/local/lib64
    /usr/local/lib
    /usr/lib
    /usr/lib64 
    #保存退出
    :wq
    ldconfig -v # 使之生效
    cd /root/php-7.3.6/
    

    再次执行./configure内容,出现如下内容说明PHP可以继续安装了:
    在这里插入图片描述
    执行如下命令:

    make && make install
    
  3. 添加PHP到环境变量
    复制配置文件:

    cp /root/php-7.3.6/php.ini-development /usr/local/php/lib/php.ini
    

    添加到环境变量:

    vim /etc/profile
    在结尾添加
    PATH=$PATH:/usr/local/php/bin
    export PATH
    :wq
    保存后运行
    source /etc/profile
    执行命令
    php -v 
    

    如果出现以下画面就代表php安装成功:
    在这里插入图片描述

  4. 配置php-fpm

    • 将启动文件加入systemctl,复制到系统文件夹中
      cp /root/php-7.3.6/sapi/fpm/php-fpm.service /usr/lib/systemd/system
      
    • 配置
      1.生成 php-fpm.conf
        cd /usr/local/php/etc/
      复制默认文件
        cp php-fpm.conf.default php-fpm.conf
      2.生成 www.conf
        cd /usr/local/php/etc/php-fpm.d
      复制默认文件
        cp www.conf.default www.conf
      编辑文件
        vim www.conf
      将其中
        user = nginx
        group = nginx
      改为
        user = nobody
        group = nobody
        如果访问时提示:file not found,把这个改回去试一下能否解决。
      
    • 启动
      systemctl start php-fpm.service
      systemctl status php-fpm.service
      
      查看状态,如显示如下就代表启动成功:
      在这里插入图片描述
      到这里,PHP已经安装配置成功。

Nginx安装

  1. 下载安装nginx1.8
    rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum -y install nginx
    
  2. 启动
    systemctl start nginx.service 
    查看状态 如果出现以下画面就带代表安装成功
    systemctl status nginx.service
    
    在这里插入图片描述
  3. 配置站点
    创建文件夹
    	cd /home/ 
    	mkdir /www
    创建phpinfo文件
    	cd www/
    	vim phpinfo.php
    编辑添加
      <?php
        echo phpinfo();
    编辑nginx配置
     	 vim /etc/nginx/conf.d/default.conf
    
    server {
        listen       80;
        server_name  localhost;
        root /home/www/;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;
    
        location / {
            root   /usr/share/nginx/html;
            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  /scripts$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指向目录改为/home/www/ 即 root /home/www/;
    • 添加php解析
      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;
      }
      
  4. 重启
    systemctl restart nginx.service
    
  5. 直接访问ip地址,出现下图,说明nginx可用
    在这里插入图片描述
    也有可能访问不了,请注意阿里云安全组配置规则添加80端口访问,建议同时增加3306端口访问安全组。
  6. 未配置域名解析,访问 你的 ip/home/www/phpinfo.php 或 ip/phpinfo.php ,如果配置了域名解析,访问 域名/phpinfo.php 出现以下页面就代表nginx已经可以解析php文件了:
    在这里插入图片描述

MySQL安装

  1. 下载安装mysql5.7
    rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
    yum -y install mysql-community-server mysql-community-devel
    
  2. 启动
    启动
    systemctl start mysqld
    查看状态,显示下图就代表启动成功
    systemctl status mysqld
    
    在这里插入图片描述
  3. 设置
    • 获取初始密码

      grep 'temporary password' /var/log/mysqld.log
      

      在这里插入图片描述

    • 登录mysql并修改密码

      mysql -u root -p
      修改密码:
      ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
      

      此时会提示错误:

      ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

      解决方案:

      降低安全级别:
      set global validate_password_policy=0;
      设置密码长度:
      set global validate_password_length=6;
      再执行修改密码操作即可成功
      退出mysql:
      exit
      
    • 配置,修改php.ini 这个值可以从 /etc/my.cnf 找到

      vim /usr/local/php/lib/php.ini
      修改
      mysqli.default_socket = /var/lib/mysql/mysql.sock
      
    • 重启nginx和php-fpm

      systemctl restart nginx.service
      systemctl restart php-fpm.service
      
  4. 测试
    • 添加文件到/home/www/文件夹中

      vim /home/www/testMysql.php
      
    • 添加内容

      <?php
      $mysqli = @new mysqli('localhost','root','123456');
      if($mysqli->connect_errno){
              die("could not connect to the database:\n" . $mysqli->connect_error);
      }else{
              echo 'connect success!';
      }         
      
    • 现在你访问 域名/testMysql.php 或 ip/home/www/testMysql.php 或 ip/testMysql.php 如果显示 connect success就代表 lnmp环境搭建成功了
      在这里插入图片描述
      至此,LNMP服务器环境搭建完成。

      只要思想不滑坡,办法总比困难多

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值