Ubuntu16.04部署LNMP环境

2019-12-23 15:29:17 浏览数 (1)

LNMP就是相对于LAMP环境的开发环境:

LAMP = Linux Apache MySQL PHP

LNMP = Linux Nginx MySQL PHP

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

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

升级系统

代码语言:javascript复制
sudo apt update

安装Nginx

代码语言:javascript复制
sudo apt install nginx

默认web路径在/var/www/html,

访问本地http://loaclhost/出现Welcome to Nginx!,即是安装成功!

安装Mysql

代码语言:javascript复制
sudo apt install mysql-server mysql-client

安装过程中需设置 mysql root 密码

mysql_secure_installation #加强安全性,可选

安装PHP

安装环境检测

代码语言:javascript复制
# 如果之前有其他版本PHP,先卸载
sudo apt-get autoremove php5php5-fpmphp7

配置安装源并且安装

代码语言:javascript复制
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及常用扩展

代码语言:javascript复制
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 

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

代码语言:javascript复制
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”,文件内容为:

代码语言:javascript复制
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服务文件配置(非必须)

代码语言:javascript复制
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

代码语言:javascript复制
server {
    listen 80;
    server_name www.debuginn.cn;
    return 301 https://$server_name$request_uri;
}

return 301 https://$server_name$request_uri;

连接配置信息
代码语言:javascript复制
ln -s /etc/nginx/sites-available /etc/nginx/sites-enabled

添加host文件

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

代码语言:javascript复制
127.0.0.1 www.debuginn.cn

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

本文链接:https://cloud.tencent.com/developer/article/1557751

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

0 人点赞