网站做好了,域名也绑定到空间了,想打开看看,却出现"恭喜,LNMP一键安装包安装成功",这是怎么回事?

网站做好了,域名也绑定到空间了,想打开看看,却出现"恭喜,LNMP一键安装包安装成功",这是怎么回事?,第1张

这个是正常的情况啊,lnmp安装好之后,默认网站目录在default里面了,你打开看到的就是这个。如果你想自己建网站,得建立一个自己的网站文件夹,把网站程序用ftp上传进去,域名也绑定到这个目录,这样就可以正常打开了。http://jingyan.baidu.com/article/db55b609ee255a4ba30a2fe5.html

ThinkPHP的四种URL模式:0(普通模式)1(PATHINFO模式)2(REWRITE模式)3(兼容模式)

nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。

系统环境:

系统:CentOS-6.4-x86_64

web服务器:nginx1.2.7

PHP版本:PHP5.3.17

数据库版本:MySQL5.5.28

一、安装LNMP1.0一键安装包:

http://lnmp.org/install.html

按照以上版本安装环境

二、修改配置文件

1.修改php配置文件php.ini,将其中cgi.fix_pathinfo = 0,值改为1

重启php-fpm

2.ssh里执行:

cat >/usr/local/nginx/conf/pathinfo.conf <<'EOF'

set $real_script_name $fastcgi_script_name

if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") {

set $real_script_name $1

set $path_info $2

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name

fastcgi_param SCRIPT_NAME $real_script_name

fastcgi_param PATH_INFO $path_info

EOF

再将虚拟主机配置文件里的location ~ .*\.(php|php5)?$ 替换为:location ~ .*\.php

再在include fcgi.conf下面添加一行include pathinfo.conf

重启nginx

完整的虚拟主机配置文件如下:

server

{

listen 80

server_name www.lnmp.org

index index.html index.htm index.php

root /home/wwwroot/lnmp

location ~ .*\.php

{

try_files $uri =404

fastcgi_pass unix:/tmp/php-cgi.sock

fastcgi_index index.php

include fcgi.conf

include pathinfo.conf

}

location /status {

stub_status on

access_log off

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d

}

location ~ .*\.(js|css)?$

{

expires 12h

}

access_log /home/wwwlogs/lnmp.log lnmp

}

将ThinkPHP的URL模式设置成PATHINFO。

ThinkPHP就可以在nginx中运行了。

官方地址: https://lnmp.org/

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

流程就是:安装lnmp,然后再安装pureftp,开放相应的端口,对各个应用服务器进行设置。

各个应用服务器进行设置:

对pureftp进行防火墙端口设置、阿里云安全组规则端口开放,用主动模式去连接ftp。

对mysql进行防火墙端口设置、阿里云安全组规则端口开放、设置root用户可远程ip连接。

对nginx进行防火墙端口设置、远程ip连接、阿里云安全组规则端口开放。

安装过程中,我选择安装 mysql 5.7,php 5.6,Jemalloc内存分配器

一些提示 *** 作:可以查看/usr/lnmp/README,从lnmp1.4开始,不再安装pureftp,需要自己手动安装。见下文 安装PureFtp篇

搭建好lnmpa后,通过外网ip访问nginx,mysql,pure-ftp等有可能因端口问题访问失败,我们需要对防火墙进行设置。包括开启防火墙、开机自动启动防火墙、开放应用服务器对应的端口;

另附firewall的其他命令 *** 作

开放了防火墙端口还不够,还需要再阿里云安全组规则页面进行再次开放端口。

我分别开放了21、22、80、88、3306、8080端口。

1、阿里云安全组规则,开放80端口

2、阿里云安全组规则,开放80端口

安装后, -h localhost 可以访问mysql,但是 -h 公网ip 无法正常登录mysql,提示2003错误。

网上很多说法是“因为centos7系统,即使关闭 firewalld,除了22端口,其余端口无法被外界访问,本地访问正常。”但经过测试,即使关了防火墙,访问其他端口时,未在==阿里云安全组规则==配置,也会被阿里云安全组规则进行挡住而无法访问。针对该问题,需要进行下面三步 *** 作设置。

1、打开防火墙,然后开放防火墙3306端口

2、阿里云安全组规则,开放3306端口

3、mysql授权任何ip都可以远程该mysql服务器

默认LNMP是不安装FTP服务器的,如需要FTP服务器: https://lnmp.org/faq/ftpserver.html

我选择安装pureftpd ,当然也可以不按照pureftpd,直接使用xshell的xftp去 *** 作。

这个ftp虚拟用户为 系统用户 下的虚拟用户。就是说,你通过ftp客户端登录后上传的文件的所有者(权限)为该系统用户。比如,将ftp用户test绑定到系统用户cjf下,那么登录ftp后,上传的服务器的文件所有者是cjf。这样就可以不用给你该系统用户的登录密码,免得你登录服务器去干其他坏事。

解决方法:更改Filezilla设置,编辑-设置-连接-FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。 ----------就是尝试==被动模式==不行的话,就用==主动模式==去连接。

以前总使用 ftp 公网ip ,登录后 *** 作总是提示227,按网上教程说,把 ftp>passive 关闭被动模式,但还是无法正常使用,这是因为在 ftp 公网ip 会因为==ForcePassiveIP没开启==,==安全组端口没设置==而出现被动模式阻塞。相比 ftp 局部网内部ip 这种方式,更麻烦,且服务器开放了更多的端口,更加不安全。不建议这种 *** 作。

如果你不想了解什么是主动模式、什么是被动模式的话,就记住:

关闭passive(不用 *** 作,只是补充知识点)

主动模式和被动模式:

【内网穿透笔记】FTP映射出现227 Entering Passive Mode错误命令原因及解决方法

安装lnmpa后,可以在 /usr/local/apache/conf/httpd.conf 中看到,apache的根目录Directory也被设置到了 /home/wwwroot/deafualt,而非${apche_home}/htdocs。

在lnmpa的架构中,默认情况下,apache被用来提供访问php的服务器。

如果想让nginx反向代理,通过80端口就可以访问tomcat的项目的话,可以进行设置

vim /usr/local/nginx/conf/nginx.conf

vim tomcat-users.xml

通过putty或者SecureCRT安装lnmp时,网络突然掉线或者不小心putty被关掉等等原因,造成lnmp安装过程被中断怎么办,其实防止这种现象很简单,只要在安装lnmp前执行screen命令就可以了。

详细介绍: https://www.ibm.com/developerworks/cn/linux/l-cn-screen/

screen *** 作演示

微信公众平台消息接口开发在线调试系统


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9595193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存