搭建LNMP

web 服务器有那些:

Apache            nginx          Tenginx    Lighttpd  

Tomact         IBMWebsphere      jobss

 

LNMP

-L  liunx平台

-N   nginx 网站服务器

-M   mysql mariadb   数据库

-P    网站开放语言 (PHP python  perl)

 

任何网站F12 开发者工具

 

nginx可以5万的并发访问   apacha 可以2万并发访问

 

启动nginx 要检查httpd是否开启,80端口,端口只能做被一个软件占有

 

nginx -v 可以看到版本号

 

LNMP  (liunx+ nginx+ mysql mariadb+PHP python)

 

mariadb  做客户端软件  ##直接使用mysql命令

 

php (这是php的解释器)PHP 也是模块化的软件

 

php-mysql php连接到mysql数据库里

 

实验步骤:

环境准备:

1.使用yum安装相关依赖包

yum -y install gcc openssl-devel pcre-devel zlib-devel yum -y install mariadb mariadb-server mariadb-devel tar -xf lnmp_soft.tar.gz

cd lnmp_soft/ yum -y install php php-mysql yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm

 

++++++++++++++++++++++++++++++++++++++++++++++++

php-fpm-5.4.16-42.el7.x86_64.rpm

这个软件可以到www.centos.cn 下载 。可以到标准光盘里去找也可以到Everything ISO 里下载

 

 

 

 

启动nginx

[root@proxy lnmp_soft]# ss -ntulp | grep nginx [root@proxy lnmp_soft]# nginx [root@proxy lnmp_soft]# ss -ntulp | grep nginx tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=2232,fd=6),("nginx",pid=2231,fd=6))

 

启动mysql服务

 

[root@proxy ~]# systemctl  start mariadb

[root@proxy ~]# systemctl  enable mariadb

[root@proxy ~]# systemctl status mariadb

[root@proxy ~]# ss -ntulp | grep  :3306

tcp    LISTEN     0      50        *:3306                  *:*                   users:(("mysqld",pid=2490,fd=14))

 

启动php-fpm服务

[root@proxy ~]# systemctl start php-fpm; systemctl  enable  php-fpm

[root@proxy ~]# systemctl status php-fpm

[root@proxy ~]# ss -ntulp | grep php-fpm

tcp    LISTEN     0      128    127.0.0.1:9000 

 

4)设置防火墙与SELinux

 
  1. [root@proxy ~]# firewall-cmd --set-default-zone=trusted
  2. [root@proxy ~]# setenforce 0

搭建LNMP平台:

)查看php-fpm配置文件(实验中不需要修改该文件)

 
  1. [root@proxy etc]# vim /etc/php-fpm.d/www.conf
  2. [www]
  3. listen = 127.0.0.1:9000            //PHP端口号
  4. pm.max_children = 32                //最大进程数量  (起得越多,处理速度越快,但是内存要跟上)
  5. pm.start_servers = 15                //最小进程数量
  6. pm.min_spare_servers = 5            //最少需要几个空闲着的进程  (等候处理数据处理的进程)
  7. pm.max_spare_servers = 32            //最多允许几个进程处于空闲状态

这个文件就这几行有用,其他都是注释

 

 

 

 

修改Nginx配置文件并启动服务

 

[root@proxy ~]# vim  /usr/local/nginx/conf/nginx.conf

45         location / {

 46             root   html;

 47             index index.php index.html index.htm;

  1. #设置默认首页为index.php,当用户在浏览器地址栏中只写域名或IP,不说访问什么页面时,服务器会把默认首页index.php返回给用户

 48         }

..................

 67         location ~ \.php$ {

 68             root           html;    //(原理就是先找到脚本,再转发9000处理)

 69             fastcgi_pass   127.0.0.1:9000;     #将请求转发给本机9000端口,PHP解释器

 70             fastcgi_index  index.php;

 71             #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

 72             include        fastcgi.conf;

 73         }

:wq

 

重起nginx服务:

[root@proxy ~]# nginx -s reload    

 

创建PHP页面,测试LNMP架构能否解析PHP页面

[root@proxy ~]# vim  /usr/local/nginx/html/test1.php

[root@proxy ~]# firefox http://192.168.4.5/test1.php

[root@proxy ~]# cp lnmp_soft/php_scripts/mysql.php   /usr/local/nginx/html/test2.php

[root@proxy ~]# vim  /usr/local/nginx/html/test2.php

[root@proxy ~]# firefox  http://192.168.4.5/test2.php

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

nginx 是接受客户请求  80端口

php 执行代码      9000端口

mysql 是永久存储数据   3306端口

 

一个server是一个虚拟主机

location 是匹配用户的地址栏,同一个location可以写很多地址,(一个网站可以写入多个网页)

 

nginx的配置文件都是备份的,

[root@proxy ~]# ls  /usr/local/nginx/conf/

cert.key                koi-utf             scgi_params

cert.pem                koi-win             scgi_params.default

fastcgi.conf            mime.types          uwsgi_params

fastcgi.conf.default    mime.types.default  uwsgi_params.default

fastcgi_params          nginx.conf          win-utf

fastcgi_params.default  nginx.conf.default

 

4)LNMP常见问题

Nginx的默认访问日志文件为/usr/local/nginx/logs/access.log

Nginx的默认错误日志文件为/usr/local/nginx/logs/error.log

PHP默认错误日志文件为/var/log/php-fpm/www-error.log

如果动态网站访问失败,可用参考错误日志,查找错误信息。

模拟错误:

[root@proxy ~]# systemctl  stop php-fpm

[root@proxy ~]# firefox  http://192.168.4.5/test1.php

##什么报错,都没有看出来。

[root@proxy ~]# tailf  /usr/local/nginx/logs/error.log 

 Connection refused) while connecting to upstream,

       upstream: "fastcgi://127.0.0.1:9000"

 

[root@proxy ~]# nginx -s stop

[root@proxy ~]# firefox http://192.168.4.5/test1.php

连报错信息都没有:因为压根就没有进去。看日志也没有报错

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
LNMP一键安装包是什么?   LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。   我们为什么需要它?   编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。   不会Linux的站长或Linux新手想使用Linux作为生产环境……   系统需求:   需要2 GB硬盘剩余空间   128M以上内存   安装步骤:   1、下载LNMP一键安装包:   可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.5.tar.gz,如果使用完整版,执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.5-full.tar.gz,执行上述命令后LNMP一键安装包就会被下载到VPS上。   2、解压LNMP一键安装包:   执行tar zxvf lnmp0.5.tar.gz 或者tar zxvf lnmp0.5-full.tar.gz 就会将LNMP一键安装包解压缩。   3、CentOS下安装步骤   下载版执行命令 cd lnmp0.5/ ,完整版执行命令:cd lnmp0.5-full/   然后再执行./centos.sh ,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。   4、Debian/Ubuntu下安装步骤   下载版执行命令 cd lnmp0.5/ ,完整版执行命令:cd lnmp0.5-full/   然后32位系统执行./debian.sh ,输入要绑定的域名,回车,再次输入VPS/服务器所在位置:asia、america、europe、oceania或africa,回车,再输入要设置的MySQL root的密码,回车后,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。安装大约10分钟左右需要设置MySQL root用户的密码。   安装其他组件   1、安装eAccelerator,执行如下命令:./eaccelerator.sh 就会自动安装并重启web服务。   2、安装ionCube,执行如下命令:./ionCube.sh 就会自动安装并重启web服务。   3、安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh 就会自动安装PureFTPd,安装完PureFTPd,需要在浏览器执行http://你的域名或IP/ftp/install.php 安装PureFTPd用户管理。详细教程参考:http://www.vpser.net/manage/lnmp-pureftpd-cp.html   4、安装VsFTPD,执行如下命令:./vsftpd.sh 就会自动安装上vsftpd,只需要执行命令:useradd -d /home/wwwroot -s /sbin/nologin adminftp 添加上帐号指定好ftp帐号的根目录,再执行:passwd adminftp 设置上密码,登录就可以了。   虚拟主机管理   1、添加虚拟主机,执行如下命令:./vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录,如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回车就会自动添加虚拟主机。     LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}   PureFTPd状态管理 /root/pureftpd {start|stop|restart|kill|status}   phpinfo : http://前面输入的域名或IP/phpinfo.php   phpMyAdmin : http://前面输入的域名或IP/phpmyadmin/   探针 : http://前面输入的域名或IP/p.php   MySQL root密码:如果不输入直接回车为root,否则为你输入的密码。     LNMP相关目录:   mysql : /usr/local/mysql   php : /usr/local/php   nginx : /usr/local/nginx   网站目录: /home/wwwroot

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值