nginx安装以及 nginx.conf 配置信息简单介绍
安装make 安装g++
yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++
安装pcre(重写rewrite)
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz tar -zxvf pcre-8.36.tar.gz cd pcre-8.36 ./configure make make install
安装zlib
cd /usr/local/src wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make make install
安装ssl
cd /usr/local/src wget http://www.openssl.org/source/openssl-1.0.1p.tar.gz tar -zxvf openssl-1.0.1p.tar.gz
安装nginx
wget http://nginx.org/download/nginx-1.9.3.tar.gz tar -zxvf nginx-1.9.3.tar.gz cd nginx-1.9.3 ./configure --sbin-path=/usr/local/nginx/nginx \ --conf-path=/usr/local/nginx/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_ssl_module \ --with-pcre=/usr/local/src/pcre-8.36 \ --with-zlib=/usr/local/src/zlib-1.2.8 \ --with-openssl=/usr/local/src/openssl-1.0.1p make make install
user nobody 非root用户不用设置
error_log logs/error.log
pid logs /nginx.pid
1.libiconv
libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。
2.libevent
libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根据libevent官方网站上公布的数据统计,似乎也有着非凡的性能。
3.libmcrypt
libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。
4.Mhash
Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。
Mhash为PHP提供了多种哈希算法,如MD5,SHA1,GOST 等。你可以通过MHASH_hashname()来查看支持的算法有哪些。
5.reakline
readline 是一个强大的库,只要使用了它的程序,都可以用同一个配置文件配置,而且用同样的方法操作命令行,让你可以方便的编辑命令行。[2]
使用 readline 的程序现在主要有 Bash, GDB,ftp 等。readline 付予这些程序强大的 Emacs 似的命令行编辑方式,你可以随意绑定你的键盘,搜索命令历史等。
6.zlib
zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权。截至2007年3月,zlib是包含在Coverity的美国国土安全部赞助者选择继续审查的开源项目。
7.openssl
SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。
8.gd2
是一个开源的图像处理的库程序
9. libpng
libpng 是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作。
http://downloads.sourceforge.net/libpng/libpng-1.6.16.tar.xz
tar.xz需要解压 1.xz -d 2.tar -xvf
在./configure 中 遇到 configure:error:zlib not installed
然后设置2个全局变量
export LDFLAGS="-L/home/liu/local/lib/zlib/lib"
export CPPFLAGS="-I/home/liu/local/lib/zlib/include"
10.libxml2
Libxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换等功能。Libxml2的下载地址是
http://xmlsoft.org/sources/libxml2-2.9.2.tar.gz
完全版的库是开源的,并且带有例子程式和说明文件。由于我是在linux下用C语言进行研发的,所以我下载的是libxml2-2.6.20.tar.gz版本的源码包。
libxml2的2.9版本的编译会出错,没有找到解决方案。目前是安装的2.7.2的版本。
1.nginx 安装
./configure --user=liu \ --group=liu \ --prefix=/home/liu/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-pcre=/home/liu/download/aliserver/nginx/pcre-8.33 \ --with-openssl=/home/liu/download/aliserver/nginx/openssl-1.0.1e \ --with-zlib=/home/liu/download/aliserver/nginx/zlib-1.2.8 #with-pcre with-openssl with-zlib 都是源码目录,不是安装后的目录
./nginx 启动nginx ./nginx -s reload 重启 ./nginx -s stop 关闭
如果是80端口,启动nginx会报错nginx: [alert] kill(18343, 1) failed (1: Operation not permitted)
需要切换到root用户。
可以将nginx的端口设为1024
在启动nginx时,报错:nginx: [error] open() "/home/liu/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
则 nginx -c /home/liu/local/nginx/conf/nginx.conf
./configure --prefix=/home/liu/local/php \
--with-config-file-path=/home/liu/local/php/etc \
--with-mcrypt=/home/liu/local/lib/libmcrypt \
--with-openssl=/home/liu/local/lib/openssl \
--with-mhash=/home/liu/local/lib/mhash \
--with-iconv-dir=/home/liu/local/lib/libiconv \
--with-freetype-dir \
--with-zlib=/home/liu/local/lib/zlib \
--with-libxml-dir=/home/liu/local/lib/libxml2 \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-pear \
--disable-fileinfo
make ZEND_EXTRA_LIBS= '-liconv' # 建议先make,如果出错 再 make ZEND_EXTRA_LIBS make install cp php.ini-production $php_dir/etc/php.ini mv $php_dir/etc/php-fpm.conf.default $php_dir/etc/php-fpm.conf
为了完成php 的安装,需要yum安装下面几个
configure: error: Please reinstall the libcurl distribution
yum install curl curl-devel
# yum install libxml2
yum install readline readline-devel
报错:make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
这是由于内存小于1g导致
在 ./configure加上 --disable-fileinfo
mysql
提示 -- Could NOT find Curses (missing: CURSES_LIBRARY)
root下安装 yum install ncurses-devel
再删除上次编译生成的CMakeCache.txt 文件
cmake -DCMAKE_INSTALL_PREFIX=/home/liu/local/mysql -DMYSQL_DATADIR=/home/liu/local/mysql/data -DSYSCONFDIR=/home/liu/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/home/liu/local/mysql/data/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 make && make install /home/liu/local/mysql/scripts/mysql_install_db --basedir=/home/liu/local/mysql --datadir=/home/liu/local/mysql/data --defaults-file=/home/liu/local/mysql/my.cnf --user=liu /home/liu/local/mysql/bin/mysqladmin -u root password xxxx
mysql 安装需要1G内存啊,否则会报如下错误的
[ 48%] Building CXX object sql/CMakeFiles/sql.dir/sql_yacc.cc.o
-- Performing Test HAVE_PEERCRED
-- Performing Test HAVE_PEERCRED - Success
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- Googlemock was not found. gtest-based unit tests will be disabled. You can run cmake . -DENABLE_DOWNLOADS=1 to automatically download and build required components from source.
-- If you are inside a firewall, you may need to use an http proxy: export http_proxy=http://foo.bar.com:80
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- Configuring done
-- Generating done
[root@iZ25dyaojmrZ mysql-5.6.14]# export http_proxy=http://foo.bar.com:80
[root@iZ25dyaojmrZ mysql-5.6.14]# cmake . -DENABLE_DOWNLOADS=1

浙公网安备 33010602011771号