centos6.5 安装nginx,centos7
很多朋友对于centos6.5 安装nginx和centos7不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
如何在CentOS 6.5上安装EPEL 源
在文本中,我将展示在CentOS下如何安装EPEL源
提示- RHEL/CentOS系统有许多第三方源,比较流行的比如RpmForge,RpmFusion,EPEL,Remi等等。
然而需要引起注意的是,如果系统添加了多个第三方源,可能会因此产生冲突——一个软件包可以从多个源获取,一些源会替换系统的基础软件包,从而可能会产生意想不到的错误。已知的就有Rpmforge与EPEL会产生冲突。
对于这些问题我们建议,调整源的优先权或者有选择性的安装源,但是这需要复杂的操作,如果你不确定如何操作,我们推荐你只安装一个第三方源。
在CentOS上安装EPEL
要想安装EPEL,我们先要下载EPEL的rpm安装包。
CentOS/RHEL下的6.x和5.x版本下载页面如下
以上网址可能会被重定向到特定的镜像站而加快下载速度。这个页面包含可以直接获取到rpm包的下载链接。直接的下载链接如下:
根据你的CentOS版本来选择正确的下载地址。
请注意EPEL的安装包是独立编译的,所以它可以安装在32位和64位系统中。
1.确认你的CentOS的版本
首先通过以下命令确认你的CentOS版本
$ cat/etc/RedHat-release
CentOS release 6.4(Final)
2.下载EPEL的rpm安装包
现在从上面的地址下载CentOS版本所对应的EPEL的版本
$ wget
3.安装EPEL
通过以下命令安装EPEL软件包
$ sudo rpm-ivh epel-release-6-8.noarch.rpm
或
$ sudo rpm-ivh epel-release*
5.检查EPEL源
安装好EPEL源后,用yum命令来检查是否添加到源列表
# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.vonline.vn
* epel: buaya.klas.or.id
* extras: centos-hn.viettelidc.com.vn
* updates: mirrors.fibo.vn
repo id repo name status
base CentOS-6- Base 6,381
epel Extra Packages for Enterprise Linux 6- x86_64 10,023
extras CentOS-6- Extras 13
nginx nginx repo 47
updates CentOS-6- Updates 1,555
repolist: 18,019
EPEL已经在repo后列出,并且显示提供了上万个软件包,所以EPEL已经安装到你的CentOS了。
EPEL源的配置安装到了/etc/yum.repos.d/epel.repo文件。
现在来试一下从EPEL获取软件包
$ sudo yum install htop
centos5 源码安装Nginx + mysql + apache + php的方法
主要依照的是张宴的一篇博文《》,安装的软件是也是从他提供的列表中下载,这里都是tar.gz格式,如果更希望是rpm格式的话,提供一个网址《》这里列出了比较完全的下载包。
我安装的系统:Centos5
1、下载;
我安装的下载来自张宴博文下的地址,下载保存的是home下自己目录的一个文件夹下:
复制代码
代码如下:
cd/home/xuxx/software
wget
wget
wget
wget
wget
wget
wget
wget
wget
wget
wget
wget
wget
wget
2、准备编译安装环境,需要编译源码用到gc++
建议如果是新安装的系统,使用yum upgrade更新下系统。
复制代码
代码如下:
sudo-s
LANG=C
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
注意:这里所有的命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符
确保安装成功!才能正确使用编译。
3、安装:
一、安装PHP 5.2.8(FastCGI模式)
1、编译安装PHP 5.2.8所需的支持库:
1] libiconv库
复制代码
代码如下:
tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure--prefix=/usr/local
make
make install
make clean
make distclean
cd../
make clean和make distclean都是删除安装过程中生成的缓存文件。当然如果你不介意放着也可以跳过这两步清理操作。
2]libmcrypt库
复制代码
代码如下:
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
make clean
make distclean
/sbin/ldconfig
cd libltdl/
./configure--enable-ltdl-install
make
make install
make clean
make distclean
cd
3] mhash库
复制代码
代码如下:
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd../
4]mcrypt库
注意:因为该库和libmcrypt有依赖性,所以在安装前必须知道libmcrypt,否则的话会出现:
错误
复制代码
代码如下:
checking for libmcrypt– version= 2.5.0…
***‘libmcrypt-config–version’ returned 2.4.0, but LIBMCRYPT(2.5.8)
*** was found! If libmcrypt-config was correct, then it is best
*** to remove the old version of LIBMCRYPT. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
***/etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG
*** to point to the correct copy of libmcrypt-config, and remove the file config.cache
*** before re-running configure
configure: error:*** libmcrypt was not found
是因为path的问题,所以执行:
复制代码
代码如下:
ln-s/usr/local/lib/libmcrypt.la/usr/lib/libmcrypt.la
ln-s/usr/local/lib/libmcrypt.so/usr/lib/libmcrypt.so
ln-s/usr/local/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4
ln-s/usr/local/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8
ln-s/usr/local/lib/libmhash.a/usr/lib/libmhash.a
ln-s/usr/local/lib/libmhash.la/usr/lib/libmhash.la
ln-s/usr/local/lib/libmhash.so/usr/lib/libmhash.so
ln-s/usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2
ln-s/usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1
ln-s/usr/local/bin/libmcrypt-config/usr/bin/libmcrypt-config
然后再安装:
复制代码
代码如下:
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd../
二、安装mysql
复制代码
代码如下:
/usr/sbin/groupadd mysql
/usr/sbin/useradd-g mysql xxx
unzip mysql-5.1.33.zip
cd mysql-5.1.33/
./configure--prefix=/usr/local/webserver/mysql/--enable-assembler--with-extra-charsets=complex--enable-thread-safe-client--with-big-tables
--with-readline--with-ssl--with-embedded-server--enable-local-infile--with-plugins=innobase
make
make install
make clean
make distclean
chmod+w/usr/local/webserver/mysql
chown-R xxx:mysql/usr/local/webserver/mysql
cp support-files/my-medium.cnf.sh/usr/local/webserver/mysql/my.cnf
cd../
注意:这里编译./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符
在最后一步拷贝的时候,我安装完在support-files下没有my-medium.cnf而只有my-medium.cnf.sh所以将这个文件拷贝过去。
@张宴原文:
附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
①、以xxx用户帐号的身份建立数据表:
复制代码
代码如下:
/usr/local/webserver/mysql/bin/mysql_install_db--basedir=/usr/local/webserver/mysql--datadir=/usr/local/webserver/mysql/data--user=xxx
②、启动MySQL(最后的表示在后台运行)
复制代码
代码如下:
/bin/sh/usr/local/webserver/mysql/bin/mysqld_safe--defaults-file=/usr/local/webserver/mysql/my.cnf
3、编译安装PHP(FastCGI模式)
复制代码
代码如下:
tar zxvf php-5.2.8.tar.gz
gzip-cd php-5.2.8-fpm-0.5.10.diff.gz| patch-d php-5.2.8-p1
cd php-5.2.8/
./configure--prefix=/usr/local/webserver/php--with-config-file-path=/usr/local/webserver/php/etc--with-mysql=/usr/local/webserver/mysql
--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config--with-iconv-dir=/usr/local--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib
--with-libxml-dir=/usr--enable-xml--disable-rpath--enable-discard-path--enable-safe-mode--enable-bcmath--enable-shmop--enable-sysvsem
--enable-inline-optimization--with-curl--with-curlwrappers--enable-mbregex--enable-fastcgi--enable-fpm--enable-force-cgi-redirect
--enable-mbstring--with-mcrypt--with-gd--enable-gd-native-ttf--with-openssl--with-mhash--enable-pcntl--enable-sockets--with-ldap
--with-ldap-sasl
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-dist/usr/local/webserver/php/etc/php.ini
cd../
注意:这里./configure命令是一行的而不能有换行符,如果是copy的时候,注意要去处该换行符
4、编译安装PHP5扩展模块--可选安装
复制代码
代码如下:
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure--with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd../
tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
/usr/local/webserver/php/bin/phpize
./configure--enable-eaccelerator=shared--with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd../
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/webserver/php/bin/phpize
./configure--with-php-config=/usr/local/webserver/php/bin/php-config--with-pdo-mysql=/usr/local/webserver/mysql
make
make install
make clean
make distclean
cd../
tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.5.1-2/
./configure
make
make install
make clean
make distclean
cd../
tar zxvf imagick-2.2.2.tgz
cd imagick-2.2.2/
/usr/local/webserver/php/bin/phpize
./configure--with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
make clean
make distclean
cd../
5、修改php.ini文件
STRONG手工修改:/STRONG查找/usr/local/webserver/php/etc/php.ini中的extension_dir="./"
修改为extension_dir="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"
并在此行后增加以下几行,然后保存:
extension="memcache.so"
extension="pdo_mysql.so"
extension="imagick.so"
再查找output_buffering= Off
修改为output_buffering= On
6、配置eAccelerator加速PHP:
mkdir-p/usr/local/webserver/eaccelerator_cache
vi/usr/local/webserver/php/etc/php.ini
按shift+g键跳到配置文件的最末尾,加上以下配置信息:
复制代码
代码如下:
[eaccelerator]
zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="300"
eaccelerator.shm_prune_period="120"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
修改配置文件:
vi/etc/sysctl.conf
kernel.shmmax= 134217728
然后执行以下命令使配置生效:/sbin/sysctl-p
以下的步骤和张宴步骤中一样配置,不再赘诉
真心求助.nginx错误
Nginx服务器错误一般有以下几点原因:
1、请求的header过大。nginx默认的header长度上限是4k,如果超过了这个值,nginx会直接返回400错误.
解决方法:配置nginx.conf相关设置。可以通过以下2个参数来调整header上限:
client_header_buffer_size 16k;large_client_header_buffers 4 16k。
2、上传文件过程中出现错误。这时浏览器显示“413 Request Entity Too Large”。这是因为没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M。
解决方法:增加如下两行到nginx.conf的http{}段,增大nginx上传文件大小限制:设置允许发布内容为8M:client_max_body_size 8M;client_body_buffer_size 128k。
另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误:post_max_size= 8M;upload_max_filesize= 6M。
修改完配置后,别忘记重新加载。
3、客户端在为等到服务器相应返回前就关闭了客户端描述符。一般出现在客户端设置超时后,服务器主动关闭。
解决方法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。
4、脚本错误(php语法错误、lua语法错误)。
解决方法:查看nginx_err_log php_err_log。
5、访问量过大,系统资源限制,不能打开过多文件。磁盘空间不足。(access log开启可能导致磁盘满溢,服务器主动关闭)。
解决方法:修改/etc/sysctl.conf文件,并使用下面的命令确认:#sysctl-p。要使 limits.conf文件配置生效,必须要确保 pam_limits.so文件被加入到启动文件中。
6、后端服务无法处理,业务中断。
解决方法:从后端日志获取错误原因,解决后端服务器问题。
7、后端服务器在超时时间内,未响应Nginx代理请求。
解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。
8、网站页面缓存过大。
解决方法:配置nginx.conf相关设置:fastcgi_buffers 8 128k;send_timeout 60。