原文地址 Ubuntu 官方源上 nginx 和 php 更新速度很慢,很多人不得不自己编译 nginx 和 php ,非常麻烦。这里推荐来自捷克的 Ondřej Surý 大神的 PPA 源,可以方便的安装、升级最新版本的 nginx 和 php 。注意,以下操作是在 root 账号下进行的,非 root 账号需提升到 root 权限。
安装最新版 nginx
添加 nginx 源
首先安装依赖:
1 | apt install software-properties-common -y |
终端中输入以下命令添加 nginx 源:
1 | add-apt-repository ppa:ondrej/nginx #stable (稳定)版本 |
或
1 | add-apt-repository ppa:ondrej/nginx-mainline #mainline (主线)版本 |
以上两个版本二选一,这里选择稳定版。
安装 nginx
1 | apt update && apt install nginx-extras -y |
配置 nginx
按照官方建议,删除 /etc/nginx/sites-enabled 下的 default 配置文件:
1 | rm /etc/nginx/sites-enabled/default |
创建 default_server ,禁止 IP 及非配置域名 http 访问:
1 | cat >> /etc/nginx/sites-available/default_server << EOF |
如果服务器启用了 https ,需要将 https server 段的注释去掉,防止 ip 及非配置域名 https 访问。注意修改 ssl 证书的路径,替换为任一可用 ssl 证书及证书私钥即可。 启用 default_server 并重启 nginx
1 | ln -s /etc/nginx/sites-available/default_server /etc/nginx/sites-enabled/default_server && systemctl restart nginx |
安装 php7.1
添加 php 源
终端中输入以下命令添加 php 源:
1 | add-apt-repository ppa:ondrej/php |
安装 php7.1
终端中输入以下命令安装 php7.1 及常用扩展:
1 | apt update && apt install php7.1-fpm php7.1-mysql php7.1-curl php7.1-gd php7.1-mbstring php7.1-mcrypt php7.1-xml php7.1-xmlrpc php7.1-zip php7.1-opcache php7.1-ldap -y |
安装完成后,修改 /etc/php/7.1/fpm/php.ini ,防止跨站攻击。
1 | sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.1/fpm/php.ini |
重启 php7.1-fpm :
1 | systemctl restart php7.1-fpm.service |
安装 ionCube Loader 10
下载源码:
1 | wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip && unzip ioncube_loaders_lin_x86-64.zip |
ioncube_loader 需与自己的 php 版本相对应,这里选择 php7.1 版本的 ioncube_loader ;php7.1 的扩展的目录在 /usr/lib/php/20160303 :
1 | cp ioncube/ioncube_loader_lin_7.1.so /usr/lib/php/20160303 |
增加 ioncube_loader 模块配置文件:
1 | cat >> /etc/php/7.1/mods-available/ioncube.ini << EOF |
将 ioncube_loader 模块接入 php-fpm 和 php-cli
1 | ln -s /etc/php/7.1/mods-available/ioncube.ini /etc/php/7.1/fpm/conf.d/01-ioncube.ini |
重启 php7.1-fpm 生效:
1 | systemctl restart php7.1-fpm.service |
检查一下 ioncube_loader 模块是否生效:
1 | root@timelate:~# php -v |
看到 with the ionCube PHP Loader (enabled) 字样即说明 ionCube 模块已生效。 删除临时文件:
1 | rm -rf ioncube ioncube_loaders_lin_x86-64.zip |
安装 MySQL
通过以下命令安装最新版 MySQL :
1 | apt install mysql-server -y |
更新 LNMP
通过以上步骤便可在 Ubuntu 16.04 上安装最新版(稳定版)的 nginx 、 php 及 MySQL 。后续如果有相应版本更新,直接通过以下命令更新即可:
1 | apt update && apt upgrade -y |
至此, LNMP 环境搭建完毕,本文结束。