美文网首页
Ubuntu 安装LANMP环境

Ubuntu 安装LANMP环境

作者: 蟠龙有悔 | 来源:发表于2019-03-29 00:47 被阅读0次

    安装 PHP7.1

    检查一下一些需要用到的软件是否安装

    dpkg -l gcc g++ libmcrypt-dev curl
    

    CentOS 下g++似乎是gcc-c++,安装 libmcrypt-dev 会将 libmcrypt4 一起安装,直接搜 libmcrypt 搜不到

    若没有后安装的话,搜索是否有资源可以下载

    apt-cache search gcc
    apt-cache search g++
    apt-cache search libmcrypt-dev
    apt-cache search curl
    # 或者
    apt-cache madison gcc g++ libmcrypt-dev curl
    

    安装缺少的软件

    添加官方的ppa源,保证可以下载到最新的php版本

    sudo add-apt-repository ppa:ondrej/php
    # 如果当前系统不是UTF-8 的 locales 可以 加上  LC_ALL=C.UTF-8,如下
    # sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
    sudo apt-get update
    

    如果无法使用 add-apt-repository 键入命令 sudo apt-get install software-properties-common python-software-properties 参考:Ubuntu无法找到add-apt-repository问题的解决方法

    查找可下载的PHP版本及扩展

    sudo apt-cache search php7.1
    

    这里把php7.1版本及扩展大部分都包进去了,不分粗细先下了再说

    sudo apt-get -y install php7.1
    sudo apt-get -y install php7.1-cgi php7.1-cli php7.1-dev php7.1-fpm php7.1-phpdbg php7.1-bz2 php7.1-common php7.1-curl 
    sudo apt-get -y install php7.1-dba php7.1-enchant php7.1-gd php7.1-gmp php7.1-imap php7.1-interbase php7.1-intl php7.1-ldap
    sudo apt-get -y install php7.1-mbstring php7.1-odbc php7.1-pgsql php7.1-pspell php7.1-readline php7.1-recode php7.1-snmp
    sudo apt-get -y install php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache php7.1-xsl
    sudo apt-get -y install libapache2-mod-php7.1 libphp7.1-embed
    

    卸载PHP

    sudo apt-get --purge remove php7.2*
    

    由于之前下载扩展的时候将7.2下载下来了,直接使用 sudo apt-get remove php7.2*删除似乎没效果,会提示无法卸载未安装的软件包,下载的7.1的扩展也无法正常显示,参考: Linux(Ubuntu)安装和完美卸载PHP7详细教程 这篇博文轻松卸载

    安装 apache

    apt-get install apache2
    

    安装 Apache 文档和一些 Apache 实用程序。

    apt-get -y install apache2-doc apache2-utils
    

    Apache应用放通80端口和443/tcp端口

    ufw allow 'Apache Full'
    # 或者 
    ufw allow 80/tcp
    ufw allow 443/tcp
    

    这里加了tcp表示只放通tcp协议访问80端口(协议包括tcp协议和udp协议)
    关于优化参考:如何在 Ubuntu 上安装和优化 Apache

    安装Nginx

    安装Nginx之前需要安装的模块依赖:
    ①gzip 模块需要 zlib 库
    ②rewrite 模块需要 pcre 库
    ③ssl 功能需要 openssl 库
    先检查下是否有这些依赖库

    apt-cache madison libpcre3 libpcre3-dev libpcrecpp0 libssh-dev zlib1g-dev
    或者直接安装
    sudo apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssh-dev zlib1g-dev
    

    ubuntu 环境下,安装build-essential 可以解决软件缺少依赖库的情况。下载软件时,build-essential会自动将软件的依赖也下载下来 参考:Ubuntu下安装Nginx详细步骤

    nginx的安装方式有多种,这里选择通过添加ppa源 安装nginx
    其他方式见 Ubuntu上安装Nginx服务器程序及简单的环境配置小结

    sudo add-apt-repository ppa:nginx/stable
    sudo apt-get update 
    sudo apt-get install nginx 
    

    查看nginx当前版本

    ~$ nginx -v
    nginx version: nginx/1.14.2
    

    nginx 与 php-fpm 的配置

    sudo vim /etc/nginx/sites-available/default
    

    编辑默认虚拟主机配置(摘选)

    server {
        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            # With php-fpm (or other unix sockets):
            fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
            # With php-cgi (or other tcp sockets):
            # fastcgi_pass 127.0.0.1:9000;
        }
    }
    
    1. nginx.conf 包含的默认虚拟主机的文件 /etc/nginx/sites-enabled/default/etc/nginx/sites-available/default的软连接
    2. 默认配置default里将index.php加到 index后面
    3. 去掉 location ~ \.php$模块的备注

    fastcgi_pass地址和/etc/php/7.1/fpm/pool.d/www.conf 下面的监听地址保持一致

    ; Note: This value is mandatory.
    listen = /run/php/php7.1-fpm.sock
    

    重启nginx
    由于前面有安装apache所以要先将apache的服务关掉再重启,不然端口会被占用

    2019/04/03 08:59:34 [emerg] 4110#4110: listen() to [::]:80, backlog 511 failed (98: Address already in u
    2019/04/03 08:59:34 [emerg] 4110#4110: still could not bind()
    ~$ sudo systemctl stop apache2
    

    由于暂时不用到apache并且避免重启后端口冲突的问题,将防火墙关于apache的端口禁用掉

    # 查看所有端口应用列表
    ~$ sudo ufw app list
    可用应用程序:
      Apache
      Apache Full
      Apache Secure
      CUPS
      Nginx Full
      Nginx HTTP
      Nginx HTTPS
      OpenSSH
    # 禁用对应的端口应用
    ~$ sudo ufw delete 'Apache Full'
    ~$ sudo systemctl restart nginx
    

    LNMP启动界面

    lnmp

    设置一下开机启动

    vagrant@nginx:~$ sudo systemctl enable nginx
    Synchronizing state of nginx.service with SysV init with /lib/systemd/systemd-sysv-install...
    Executing /lib/systemd/systemd-sysv-install enable nginx
    
    

    mysql 安装参考 Ubuntu 安装mysql和简单操作

    待续...

    相关文章

      网友评论

          本文标题:Ubuntu 安装LANMP环境

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