菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
0
0

记录一次 LNMP 环境搭建到 Https 配置

原创
05/13 14:22
阅读数 442

之前一直习惯使用 LAMP环境,更多的使用Apache去作为自己的服务器。今天折腾了一下LNMP,以及升级https,因为没什么含金量,仅作为我的一个记录笔记吧。

  • 1.搭建了LNMP环境
    ```

    sudo apt-get update
    
    #安装nginx
    sudo apt-get install nginx 
    
    #安装 php7.2以及php7.2-fpm
    sudo apt-get install php7.2 php7.2-fpm
    
    #配置修改
    sudo vim /etc/nginx/sites-avaiable/default
    增加以下配置内容
    

    file

    #修改 www.conf配置文件
    
    /etc/php/7.2/fpm/pool.d/www.conf
    
    sudo vim  /etc/php/7.2/fpm/pool.d/www.conf
    #把 
    listen = /run/php/7.2/php7.2-fpm.sock 
    #修改为
    listen =  /var/run/php/7.2/php7.2-fpm.sock
    
    #修改 php.ini配置文件
    sudo vim /etc/php/7.2/fpm/php.ini
    #将该文件的 
    cgi.fix_pathinfo = 1 
    #更改为
    cgi.fix_pathinfo = 0
    
    #修改 fastcgi_params配置文件
    sudo vim /etc/nginx/fastcgi_params
    
    #在该文件的组后一行假如代码
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name
    
    #接下来我们可以检验一下装的是否正确,在根目录下新建一个 test.php 文件
    sudo vim /var/www/html/test.php
    
    #执行 localhost/test.php如果可以正确解析则OK。
    
    #安装Mysql
    
    sudo apr-get install mysql-server mysql-client php7.2-mysql
    
    #安装完成后我们可以使用PDO来检测一下
    sudo vim /var/www/html/mysql.php
    
    <?php
       try{
          $pdo = new PDO("mysql:host=localhost;dbName=mysql;",'root','root');
          var_dump($pdo);
       }catch(Exception $e){
           echo $e->getMessage();
       }
       ?>
       #然后我们可以在浏览器访问  localhost/mysql.php
    

file

    【友情提醒】
    1,先安装 nginx然后安装php,因为在安装php时候会自动安装apache
    2,可以使用 sudo apt-get auroremove 软件名 来卸载,然后重新安装。
  • 安装 phpmyadmin
sudo apt-get update

sudo apt-get install phpmyadmin

#然后按照提示内容默认进行即可。
#建立 /var/www/html/下的软连接

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
#然后重启nginx
sudo service nginx restart

#访问 localhost/phpmyadmin/index.php 看是否正确
  • 配置HTTPS

1,首先在我所在的服务器申请免费的 ssl证书,通过一系列认证之类的乱七八糟操作之后呢就开始下载证书了。

file

就是这两个文件

file

然后我在 /etc/nginx下新建了ssl文件夹用于存放证书

```
 server {
    listen 443 ssl;
    listen [::]:443;
    root /home/ubuntu/CODE/xxxx/public/;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1;mode=block";
    add_header X-Content-Type-Options "nosniff";

    charset utf-8;

    ssl on;
    ssl_certificate      /etc/nginx/ssl/public.pem;
    ssl_certificate_key   /etc/nginx/ssl/private.key;
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    index index.html index.htm  index.php;

    server_name xxx.com www.xxx.com;

    access_log /var/log/nginx/xx.access.log;
    error_log /var/log/nginx/xx.error.log;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;    
    }
    }
server{
   listen 80;
   server_name fantasycode.top www.fantasycode.top;
   rewrite ^(.*) https://$host$1 permanent;
}

发表评论

0/200
0 点赞
0 评论
收藏
为你推荐 换一批