博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu简易安装LNMP
阅读量:5150 次
发布时间:2019-06-13

本文共 2769 字,大约阅读时间需要 9 分钟。

个人感觉ubuntu更加好用,centos不合自己口味。

1、安装nginx  : sudo apt-get install nginx

查看版本  :nginx -v

查看安装信息:dpkg -S nginx 

安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。

此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。

启动 Nginx服务,使用下面两个命令任意一个即可:

sudo /etc/init.d/nginx start 

sudo service nginx start

2、安装php7

如果是安装7.0,只需要apt-get install 即可,如果是7.1就需要更新PPA软件源:

sudo apt-add-repository ppa:ondrej/phpsudo apt-get updatesudo apt-get install php7.1 php7.1-fpm

  

3、打通nginxyu php-fpm

修改 /etc/nginx/sites-available/default 文件,然后取消关于php的注释部分,并且将fpm的路径修改为7.1的即可

重启一下nginx服务。可以写测试的php文件了。

4、安装php扩展:

sudo apt-get install php7.1-gd php7.1-curl php7.1-mysql

5、安装mysql5.7

sudo apt-get install mysql-server mysql-client 

设置root密码,系统自动完成剩下部分。

--- netstat -anp 可以查看当前系统监听的端口。

 6、nginx下的php路径漏洞,伪造路径,比如http://xxx/a.jpg/b.php,就可以执行,http://www.laruence.com/2010/05/20/1495.html 其实开启了rewrite的设置后这个可以不怎么在意,不过最好修改好。

vim /etc/php/7.1/fpm/php.ini

去掉cgi.fix_pathinfo=1之前的注释,并修改值为0.

7、开启加密模块:

sudo phpenmod mcrypt   ;看情况自己决定,

重启服务service php7.1-fpm restart

 8、DNS解析域名,并新建虚拟主机

nginx默认的主机配置文件:/etc/nginx/sites-available/default

新建虚拟主机配置文件,在/etc/nginx/conf.d/目录下添加x.conf文件即可。

配置默认的http网站,配置文件如下:

server {        listen 80;        server_name www.ex.com;        location / {                root /var/www/ex.com;                index index.php index.html index.htm;        }        location ~ \.php$ {          root /var/www/ex.com;          fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;          fastcgi_index index.php;          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;          include fastcgi_params;      }   }

  保存后,在 /var/www/ 下mkdir ex.com,并且写入PHP的测试文件,如果解析正常说明成功了。

 9、启用SSL,这个非常简单,在certbot官网直接照着做就行了。 https://certbot.eff.org/lets-encrypt/ubuntutzesty-nginx

安装certbot:

$ sudo apt-get update$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:certbot/certbot$ sudo apt-get update$ sudo apt-get install python-certbot-nginx

  设置:

$ sudo certbot --nginx

  功能非常简单,提示信息第一项是email,之后选择需要启用ssl的域名,是否强制重定向HTTP到https ,最后出现验证连接:https://www.ssllabs.com/ssltest/analyze.html?d=www.ex.com

LE证书存在过期问题,可以自行维护更新。

$ sudo certbot renew --dry-run

  模拟运行成功的提示出现后,可以设置定时任务来维护自动维护任务:

sudo crontab -e

  可能会出现选择编辑器的选项,nano即可。

然后在定时任务里面添加一行:

30 3 * * 1 /usr/bin/certbot renew  >> /var/log/le-renew.log

  意思是凌晨3:30检查维护,这个时候一般都是访客最少的时候。

可以自己先测试一下命令,然后cat一下日志验证一下。

OK。配置完毕!

10、安装phpmyadmin

sudo apt-get install phpmyadmin php7.1-mbstring php-gettext

  第一步要求选择apache或者Lighttpd,随便选了,nginx反正是。

输入密码。

然后建立到默认站点,即IP指向的站点的 软连接:

sudo ln -s /usr/share/phpmyadmin /var/www/html/your_pma_name  建议这里设置的复杂一些。

如果嫌放在IP底下不安全,可以放在指定站点的下面,软连接指向修改即可。

然后,就可以图形化管理mysql了!

转载于:https://www.cnblogs.com/ctenotes/p/8606549.html

你可能感兴趣的文章
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
循环引用 。 @class
查看>>
rabbitmq
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
Git 中README.md中MarkDown语法示例
查看>>
Android实现双进程守护
查看>>
IPC,Hz(Hertz) and Clock Speed
查看>>
C++ Primer 第二章 学习笔记
查看>>
List_统计输入数值的各种值
查看>>
Cocos2d-x 的“HelloWorld” 深入分析
查看>>
别让青春再浪费_个人经历
查看>>
POJ2566-Bound Found (尺取法)
查看>>
学习笔记-KMP算法
查看>>
学习笔记--树链剖分
查看>>
设计模式《JAVA与模式》之访问者模式
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
《架构之美》阅读笔记六
查看>>
[BZOJ2667][cqoi2012]模拟工厂
查看>>
java EE设计模式--spring企业级开发最佳实践文摘
查看>>
实验6 数组一
查看>>