系统centos 7
虚拟机测试完成
分开安装,配置起来很麻烦,因为要让nginx支持PHP必须进行一系列配置,
nginx整合php-fpm
从下面这个链接可以清楚的看到略显麻烦的配置过程
https://www.cnblogs.com/jecyhw/p/5504855.html
但是以下这种一键安装的方式,特别简单,只需花时间等待就可以了,大概需要1个多小时,但是省去了不少会碰到的报错和麻烦
参考文档链接:https://lnmp.org/install.html
我的安装步骤为
1.使用putty工具登陆服务器;
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安装命令后,会出现如下提示:
目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!
输入对应MySQL或MariaDB版本前面的序号,回车进入下一步.
需要设置MySQL的root密码(不输入直接回车将会密码设置为root,我这里先回车默认了,后面可以另外修改的,修改方法上篇有)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:
询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,输入完成,回车进入下一步。
注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容。
输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。我这里选择 1 不安装
如果是LNMPA或LAMP的话还会提示 我这里安装的是LNMP就没有这一步了
“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