专栏首页Debug客栈Ubuntu16.04部署LNMP环境

Ubuntu16.04部署LNMP环境

LNMP就是相对于LAMP环境的开发环境: LAMP = Linux + Apache + MySQL + PHP LNMP = Linux + Nginx + MySQL + PHP

自己从网络上找了许多的教程,但是马虎的比较多,详细的还是没有几个,并且有许多的Bug,现在将自己踩的坑做出来的教程呈上。

LNMP就是采用nginx服务器来进行作为服务器应用运行环境,具体怎么设置,请看下文:

升级系统

sudo apt update

安装Nginx

sudo apt install nginx

默认web路径在/var/www/html, 访问本地http://loaclhost/出现Welcome to Nginx!,即是安装成功!

安装Mysql

sudo apt install mysql-server mysql-client

安装过程中需设置 mysql root 密码 mysql_secure_installation #加强安全性,可选

安装PHP

安装环境检测

# 如果之前有其他版本PHP,先卸载
sudo apt-get autoremove php5php5-fpmphp7

配置安装源并且安装

sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ondrej/php && sudo apt-get update
# 安装PHP7.2
sudo apt-get -y install php7.2

安装PHP及常用扩展

sudo apt-get install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl -y 

安装其他扩展(按需安装)

sudo apt-get install php7.2-gd
sudo apt-get install php7.2-soap
sudo apt-get install php7.2-gmp
sudo apt-get install php7.2-odbc
sudo apt-get install php7.2-pspell
sudo apt-get install php7.2-bcmath
sudo apt-get install php7.2-enchant
sudo apt-get install php7.2-imap
sudo apt-get install php7.2-ldap
sudo apt-get install php7.2-opcache
sudo apt-get install php7.2-readline
sudo apt-get install php7.2-sqlite3
sudo apt-get install php7.2-xmlrpc
sudo apt-get install php7.2-bz2
sudo apt-get install php7.2-interbase
sudo apt-get install php7.2-pgsql
sudo apt-get install php7.2-recode
sudo apt-get install php7.2-sybase
sudo apt-get install php7.2-xsl
sudo apt-get install php7.2-cgi
sudo apt-get install php7.2-dba
sudo apt-get install php7.2-phpdbg
sudo apt-get install php7.2-snmp
sudo apt-get install php7.2-tidy
sudo apt-get install php7.2-zip

Nginx配置PHP环境

默认配置文件位置:/etc/nginx/sites-availble 文件夹下:

新建一个文件名为自己域名的文件,例如 “debuginn.cn.conf”,文件内容为:

server {
    listen 443;
    server_name www.debuginn.cn;
    root /var/www/html/www.debuginn.cn;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php7.0-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

server {
    listen 80;
    server_name www.debuginn.cn;
    return 301 http://$server_name$request_uri;
}

升级HTTPS服务文件配置(非必须)

server {
    listen 443;

    server_name www.debuginn.cn;
    ssl on;
    root /var/www/html/www.debuginn.cn;
    index index.html index.php;
    ssl_certificate  cert/1826431_www.debuginn.cn.pem;
    ssl_certificate_key cert/1826431_www.debuginn.cn.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # With php7.0-cgi alone:
        # fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}

server {
    listen 80;
    server_name www.debuginn.cn;

    return 301 https://$server_name$request_uri;
}

添加重定向 (非必须)

http重定向为https

server {
    listen 80;
    server_name www.debuginn.cn;
    return 301 https://$server_name$request_uri;
}

return 301 https://$server_name$request_uri;

连接配置信息
ln -s /etc/nginx/sites-available /etc/nginx/sites-enabled

添加host文件

hosts文件位置在 /etc/hosts 添加一行记录,如下:

127.0.0.1 www.debuginn.cn

OK 配置完毕,希望对你有用哦!

本文链接:https://www.debuginn.cn/2254.html

本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PhantomJS基础及示例

    PhantomJS是一个无界面的webkit内核浏览器,你可以把它当作一个没有界面的Safari。

    IMWeb前端团队
  • PHP的变量赋值

    这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好。但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系。...

    硬核项目经理
  • 注意!PHP中字符串与数字的比较

    在日常开发过程中,==运算符是我们每天都会接触到的。这个运算符中其实埋了非常多的坑,今天我们就来看下字符串和数字用==比较需要注意的问题。

    硬核项目经理
  • 关于mysql操作的详细介绍以及实例

    前言:在后台开发中绝对避免不了要关系型数据库管理系统。常见的数据库管理系统有MySql、SQLServer、Oracle等。

    叫我可儿呀
  • PHP中比较数组的时候发生了什么?

    第一组:仔细看,从一眼看过去的正常角度来说,代码中对比的数组其实是一样的数组,[1, 2]和[2, 1]都是两个包含两个元素的数组,元素内容也是一样的,但是,他...

    硬核项目经理
  • thinkjs学习笔记

    thinkjs的配置有很多,系统默认配置 -> 应用配置 -> 调试配置 -> 模式配置 基本上只用到应用配置,应用配置的路径是App/Conf/config....

    IMWeb前端团队
  • TBase 应用接入指南

    上一篇:TBase Quick Start (请点击文章底部“阅读原文”查看) 介绍了TBase的架构,源码的编译安装,集群运行状态、启动停止等。本篇将介绍应...

    腾讯大数据
  • 缓存策略

    对于浏览器端的缓存来讲,这些规则是在HTTP协议头和HTML页面的Meta标签中定义的。他们分别从新鲜度和校验值两个维度来规定浏览器是否可以直接使用缓存中的副本...

    IMWeb前端团队
  • HTTP相关的一些东西

    这几天一直在看关于HTTP和前端性能优化相关的内容,今天先写一篇关于HTTP的文章,如果时间允许的话再接着把前端性能优化的写完。毕竟还要留着时间去看小片嘛?

    IMWeb前端团队
  • react-router实现机制

    react-router是专为React设计的路由解决方案,以react component的方式提供API,包含常用的Router,Route,IndexRe...

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券