Ubuntu(乌班图)是一个很优秀的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的开源GNU/Linux操作系统。
Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,Igor 将源代码以类BSD许可证的形式发布。
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。在Nginx在性能方面,在网上有很多的介绍文章,在这里就不重复介绍了。
安装步骤:
(系统要求:Linux 3.0+ 内核,本文中的Linux操作系统为Ubuntu 16.04)
一、获取相关开源程序:
1、【适用Ubuntu操作系统】利用Ubuntu Linux系统自带的apt-get命令安装、升级所需的程序库
sudo -s
apt-get install build-essential automake autoconf cmake libtool libcurses-ocaml-dev libxml2-dev libssl-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libxslt1-dev openssl pkg-config
2、程序源码包名称及下地址
libiconv-1.13.tar.gz http://ftp.gnu.org/pub/gnu/libiconv/
libmcrypt-2.5.8.tar.gzhttps://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/
mhash-0.9.9.9.tar.gz https://sourceforge.net/projects/mhash/files/
mcrypt-2.6.4.tar.gz https://sourceforge.net/projects/mcrypt/files/MCrypt/
mariadb-10.1.18.tar.gz https://mariadb.org/download/
php-7.0.12.tar.gz http://php.net/downloads.php
libmemcached-1.0.18.tar.gz https://launchpad.net/libmemcached/+download
php-memcachedhttps://github.com/php-memcached-dev/php-memcached.git
phpredis https://github.com/phpredis/phpredis.git
imagick-3.4.3RC1.tgz http://pecl.php.net/package/imagick
zlib-1.2.8.tar.gz http://www.zlib.net/
pcre-8.37.tar.gz https://sourceforge.net/projects/pcre/files/pcre/
tengine-2.1.0.tar.gz http://tengine.taobao.org
大部份程序下载地址都在国外,下载可能比较慢,也可以去百度云盘下载
http://pan.baidu.com/s/1slm0FZR
二、安装环境所需要的支持库:
tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure --prefix=/usr/local
make && make install
cd ../
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make && make install
cd ../
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/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so
touch /usr/local/include/mhash_config.h
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../
三、安装数据库mariadb(mariadb介绍请访问http://baike.baidu.com/item/mariaDB)
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql -s /sbin/nologin mysql
tar zxvf mariadb-10.1.18.tar.gz
cd mariadb-10.1.18/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DEBUG_SYNC=1 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_EXTRA_CHARSETS=all -DWITH_LIBWRAP=1 -DWITH_READLINE=1 -DWITH_SSL=yes
make
make install
附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下几步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
①、创建MySQL数据库存放目录
mkdir -p /data/mysql/data
mkdir -p /data/mysql/binlog/binlog
chmod +w /data/mysql
chown -R mysql:mysql /data/mysql
②、以mysql用户帐号的身份建立数据表:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql
③、创建my.cnf文件,并修改my.cnf配置文件:添加以下内容
cp support-files/my-medium.cnf /data/mysql/my.cnf
vi /data/mysql/my.cnf
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
basedir = /usr/local/mysql
datadir = /data/mysql/data
log-error = /data/mysql/mysql_error.log
pid-file = /data/mysql/mysql.pid
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
④、创建管理MySQL数据库的shell脚本: