系统centos 7

虚拟机测试完成

分开安装,配置起来很麻烦,因为要让nginx支持PHP必须进行一系列配置,

nginx整合php-fpm

从下面这个链接可以清楚的看到略显麻烦的配置过程

但是以下这种一键安装的方式,特别简单,只需花时间等待就可以了,大概需要1个多小时,但是省去了不少会碰到的报错和麻烦

参考文档链接:​​https://lnmp.org/install.html​

我的安装步骤为

1.使用putty工具登陆服务器;LNMP一键安装_LNMP

2.登陆后运行:screen -S lnmp,提示screen: command not found 命令不存在,输入yum install screen安装

3.安装LNMP稳定版

输入

wget -c ​​http://soft.vpser.net/lnmp/lnmp1.4.tar.gz​​ && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

(默认安装lnmp可不写,如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。如需更改网站和数据库目录先修改安装包目录下的 lnmp.conf 文件。

如提示wget: command not found ,使用yum install wget 或 apt-get install wget 命令安装。)

运行上述LNMP安装命令后,会出现如下提示:

LNMP一键安装_php_02

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!

输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.

LNMP一键安装_LNMP_03

需要设置MySQL的root密码(不输入直接回车将会密码设置为root,我这里先回车默认了,后面可以另外修改的,修改方法上篇有)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:

LNMP一键安装_nginx_04

询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,输入完成,回车进入下一步。

注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容。

LNMP一键安装_LNMP_05

输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:

可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。我这里选择 1 不安装

如果是LNMPA或LAMP的话还会提示 我这里安装的是LNMP就没有这一步了

LNMP一键安装_html_06

“Please enter Administrator Email Address:”,需要设置管理员邮箱,该邮箱会在报错时显示在错误页面上。

再选择Apache版本

按提示输入对应版本前面的数字序号,回车。

提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。

LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

4、安装完成,我这里就没有出现第5步了

如果显示Nginx: OK,MySQL: OK,PHP: OK

并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示安装使用的时间及Install lnmp V1.4 completed! enjoy it.的话,说明已经安装成功。

安装完成接下来开始使用就可以了,按添加虚拟主机教程,添加虚拟主机后可以使用sftp或ftp服务器上传网站代码,将域名解析到VPS或服务器的IP上,解析生效即可使用。

5、安装失败

如果出现类似上图的提示,有一个没安装成功表明安装失败!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。

以下都是关于其他附件的配置

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

6、添加、删除虚拟主机及伪静态管理

​https://lnmp.org/faq/lnmp-vhost-add-howto.html​

7、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装

​https://lnmp.org/faq/addons.html​

8、LNMP相关软件目录及文件位置

​https://lnmp.org/faq/lnmp-software-list.html​

9、LNMP状态管理命令

​https://lnmp.org/faq/lnmp-status-manager.html​

10、仅安装数据库、Nginx

lnmp 1.4开始支持只安装MySQL/MariaDB数据库或Nginx

增加单独nginx安装,安装包目录下运行:./install.sh nginx 进行安装;

增加单独数据库安装,安装包目录下运行:./install.sh db 进行安装;

通过wincp工具将项目上传至nginx访问目录下,默认根目录为:/home/wwwroot/default

通过IP地址打开 成功


修改根目录方法:打开nginx配置文件

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

看到一条 /home/wwwroot/default , 改成你要的路径就可以了,比如我改成

/home/wwwroot/html

然后重启nginx

service nginx reload

再打开试试!

thinkphp 在lnmp上配置。LNMP需要进行配置才能支持thinkphp3.2的,最简单的方法如下:

1、概述

thinkphp 不能直接在nginx上使用 因为要用pathinfo。

2、配置

2.1 修改PHP.INI 支持 PHPINOF

PHP配置文件:/usr/local/php/etc/php.ini

更改php.ini

找到:cgi.fix_pathinfo=0

更改为:cgi.fix_pathinfo=1

2.2 修改nginx配置文件

配置文件路径查询:nginx -t 显示出路径,可以直接用WINCP工具直接从文件打开修改,复制以下全部内容,替换掉原来的 由server{--------..........include vhost/*.conf;

} 里面的所有内容,项目路径可以自己考虑

server

{

listen 80 default_server;

#listen [::]:80 default_server ipv6only=on;

server_name ​​www.lnmp.org​​;

index index.html index.htm index.php;

root /home/wwwroot/html;

#error_page   404   /404.html;
#include enable-php.conf;
include enable-php-pathinfo.conf;

location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1;
}
}

location ~ \.php {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;

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;
}

location /nginx_status
{
stub_status on;
access_log off;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 12h;
}

location ~ /\.
{
deny all;
}

access_log /home/wwwlogs/access.log;
}

include vhost/*.conf;

}

3、重启

lnmp restart