lnmp源码编译安装(源代码编译安装transmission)
本文目录一览:
- 1、502 Bad Gateway 怎么解决
- 2、linux的centos下怎么编译安装LNMP,然后运行phpcms
- 3、阿里云安装lnmpa
- 4、怎样在centos上手动安装配置lnmp环境
- 5、CentOS 7 用户怎样安装 LNMP
502 Bad Gateway 怎么解决
502 Bad Gateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据。
第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。
第二种原因:在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway
第三种原因:在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
第四种原因:php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300。
第五种原因:磁盘空间不足,如mysql日志占用大量空间。
第六种原因:查看php-cgi进程是否在运行。
另外的解决办法:
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是max_children,另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
计算的方式如下:如果服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。如果做不到这一点,也就 是说PHP-CGI可能出现某个BUG,或者宽带不够充足或者其他的原因导致PHP-CGI假死那么就建议给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好可以设置越高,20分钟-30分 钟都可以。
而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。
按照官方的答案,排查了相关的可能,并结合了网友的答案,得出了下面的解决办法:
1、查看php fastcgi的进程数(max_children值)代码:netstat -anpo | grep “php-cgi” | wc -l
5(假如显示5)
2、查看当前进程,代码:top观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据机器实际状况而定)
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
value name=”max_children”10/value
value name=”request_terminate_timeout”60s/value
max_children最多10个进程,按照每个进程20MB内存,最多200MB。
request_terminate_timeout执行的时间为60秒,也就是1分钟。
linux的centos下怎么编译安装LNMP,然后运行phpcms
LNMP的意思是linux操作系统, nginx发布软件,mysql数据库,php这四样东西,你的系统是centos已经满足了其一,然后安装php mysql nginx就行的
安装方法:yum list | grep mysql 这个是查看mysql包管理的可安装程序,人挪活yum install -y mysql-server mysql mysql-deve这样即可安装,mysql和nginx同理
安装完毕之后,一般情况下是默认这些服务启动的状态,在nginx服务器下,一般有个www目录,将phpcms解压缩之后,上传到这个目录,然后对这个目录执行一个chmod -R 777 www,获取www目录的最高读写权限,通过域名访问就可以指向这个目录的
阿里云安装lnmpa
官方地址:
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服务器:
我选择安装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命令就可以了。
详细介绍:
screen操作演示
微信公众平台消息接口开发在线调试系统
怎样在centos上手动安装配置lnmp环境
在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
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 //这是别人写好的脚本,直接拿来用
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中添加
//先转换原来的.htpaccess
然后在nginx.conf 中的server里添加这行内容,指定你的htaccess所在的位置
include /var/www/html/webshop/web/.htaccess;
小刚SEO为你解答
CentOS 7 用户怎样安装 LNMP
这个是官网的安装配置手册,你跟着这个步骤一步步来就可以成功安装。
系统需求:
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 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、添加、删除虚拟主机及伪静态管理
6、eAccelerator、xcache、memcached、imageMagick、ionCube、redis、opcache的安装
7、LNMP相关软件目录及文件位置
8、LNMP状态管理命令