官方地址: 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://lnmp.org/install.html,你跟着这个步骤一步步来就可以成功安装。系统需求:
CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统
需要3GB以上硬盘剩余空间
128M以上内存,Xen的需要有SWAP,OpenVZ的另外至少要有128MB以上的vSWAP或突发内存(小内存请勿使用64位系统),MySQL 5.6及MariaDB 10必须1G以上内存。
VPS或服务器必须已经联网,同时VPS/服务器 DNS要正常!
Linux下区分大小写,输入命令时请注意!
LNMP一键安装包 V1.2 已经在Linode、DiaHosting、PhotonVPS、DigitalOcean、遨游主机、孝扮RamNode、BudgetVM、瑞豪开源、DirectSpace、KVMLA、OneAsiahost新加坡VPS、景文互联、Hostigation、BuyVM、LocVPS、80VPS、VR香港VPS、XSVPS、快易互联等众多VPS的CentOS 5-7、RHEL 6-7、Fedora 21-22、Debian 5-8、Ubuntu 10.04-15.04的32位和64位系统上测试通过。
安装步骤:
1、使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装,详细的screen教程。
2、下载并安装LNMP一键安装包:
您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别,只是完整版把一些需要的源码文件预先放到安装包里。
安装LNMP执行:wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz &&tar zxf lnmp1.2-full.tar.gz &&cd lnmp1.2-full &&./install.sh lnmp
如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。
如下载速度慢请更换其他下载节点,详情请看下载页面。LNMP下载节点巧悉灶具体替换方法。
按上述命令执行后,会出现如下提示:
需要设置MySQL的root密码(不输入直接回车将会设置为root),输入后回车进入下一步,如下图所示:
这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后陆睁回车进入下一步,选择MySQL版本:
输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本:
输入PHP版本的序号,回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车。
如果是LNMPA或LAMP的话还需要设置管理员邮箱
再选择Apache版本
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
3、安装完成
如果显示Nginx: OK,MySQL: OK,PHP: OK
并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并Install lnmp V1.2 completed! enjoy it.的话,说明已经安装成功。
接下来按添加虚拟主机教程,添加虚拟主机,通过sftp或ftp服务器上传网站,将域名解析到VPS或服务器的IP上,解析生效即可使用。
4、安装失败
如果出现类似上图的提示,则表明安装失败,说明没有安装成功!!需要用winscp或其他类似工具,将/root目录下面的lnmp-install.log下载下来,到LNMP支持论坛发帖注明你的系统发行版名称及版本号、32位还是64位等信息,并将lnmp-install.log压缩以附件形式上传到论坛,我们会通过日志查找错误,并给予相应的解决方法。
5、添加、删除虚拟主机及伪静态管理
http://lnmp.org/faq/lnmp-vhost-add-howto.html
6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
http://lnmp.org/faq/addons.html
7、LNMP相关软件目录及文件位置
http://lnmp.org/faq/lnmp-software-list.html
8、LNMP状态管理命令
http://lnmp.org/faq/lnmp-status-manager.html
在centos上手动安装配置lnmp环境的方法
一、安装所需的库文件和编译环境
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、安装PHP和MySQL
yum -y install php mysql mysql-server mysql-devel php-mysql php-cgi php-mbstring php-gd php-fastcgi
service mysqld start //启动mysql服务
chkconfig mysqld on //设置开机自动启动
三、安装nginx,由于CentOS没有默认的nginx软件包,需要启用REHL的附件
1. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
2. yum -y install nginx
chkconfig nginx on //设置开机启动
service nginx start //启动ngin服务
四、安装spawn-fcgi来运行php-cgi //spawn-fcgi是用来调用php提供动态php格式的网页
yum install spawn-fcgi
五、下载spawn-fcgi 的启动脚本
1. wget http://bash.cyberciti.biz/dl/419.sh.zip //这是别人写好的脚本,直接拿来明橡用
2. unzip 419.sh.zip
3. mv 419.sh /etc/init.d/php_cgi
4. chmod +x /etc/init.d/php_cgi
/etc/init.d/php_cgi start //启动php_cgi
1. netstat -tulpn | grep :9000 //查看进程,查看服务有没有正常启动,若出现如下代表一切正常
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4352/php-cgi
六、配置nginx
vim /etc/nginx/nginx.conf //下面就是修改nginx.conf配置文件
user nginx //修改ngin守护进程的用户
worker_processes 4 //工作进程数,一般与 CPU 核数等同,但实际的可以多一些
error_log logs/error.log //错误日志位置
events {
worker_connections 州者2048#每个工作进程允许最大的同时连接数,可以稍微大一些,1024的倍数
}
gzip on
server {
listen 80
server_name 192.168.175.208 //nginx服务器地址
location ~ \.php$ {
root html
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name //这里SCRIPT_FILENAME后面指定的是nginx的网站目录
include fastcgi_params
}
把前面注释全部去掉,找册槐薯到
location / {
root /html
index index.php index.html index.htm
}
修改为如上所示 主要是添加index 后面的index.php
七、编写脚本,测试nginx与php有没有结合
vim /usr/share/nginx/html/index.php
<?php
phpinfo
?>
最后通过浏览器访问服务器测试是否成功,出现php信息页面表示成功。
下面是我工作过程中遇到的一个问题。原来服务器上安装的有apache服务器。但是现在要把图片服务器换成nginx,图片服务器里面网页跳转的就不管用的。查找资料发现apache的rewrite规则需要转换成nginx识别的规则才行,通过下面的网页转换后,在nginx.conf中添加
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ //先转换原来的.htpaccess
然后在nginx.conf 中的server里添加这行内容,指定你的htaccess所在的位置
include /var/www/html/webshop/web/.htaccess
小刚SEO为你解答
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)