一、nginx的编译安装 新装的Ubuntu系统 apt-get install gcc apt-get install g++ 首先,编译安装nginx,nginx依赖于zlib和pcre tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make && make install cd .. tar -xf pcre-8.36.tar.bz2 cd pcre-8.36 ./configure make && make install
zlib和pcre都是直接configure后make && make install
现在编译nginx cd .. tar -zxvf nginx-1.9.0.tar.gz cd nginx-1.9.0
首先添加nginx用户 useradd nginx -s /sbin/nologin -M
如果你要添加openssl openssl使用的是源码包 cd .. tar -zxvf openssl-1.0.2a.tar.gz
配置nginx cd ..
cd nginx-1.9.0 ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_module --with-openssl=/home/env/lnmp/openssl-1.0.2a/home/fangyue/work/lnmp/openssl-1.0.2a make && make install
至此,nginx就编译好咯 cd /usr/local/nginx/ ./sbin/nginx -thttp://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/fangyue/AppData/Local/YNote/data/854289665@qq.com/dc9cbc503c794b0ab23108a1eb30de3a/clipboard.pngls /usr/local/lib/cd /etc/ld.so.conf.d/nano usr-lib.conf/usr/local/libldconfig/usr/local/nginx/sbin/nginx -t/usr/local/nginx/sbin/nginx测试;浏览器访问 localhost
二、mysql的编译安装
接下来是搞mysql 我使用的mysql5.5 所以需要使用cmake方式进行编译 cd /home/fangyue/work/lnmp/ tar -zxvf cmake-3.2.2.tar.gz cd cmake-3.2.2 ./configure make && make install cmake你可以直接使用yum或者apt-get安装
注意:cmake如果是编译安装的话,centos和mint的提示是不一样的,根据提示进行操作就可以 cd .. sudo apt-get install libncurses5-dev sudo apt-get install bison
tar -zxvf mysql-5.5.44.tar.gzcd mysql-5.5.44
添加mysql组和mysql用户
groupadd mysql useradd mysql -s /sbin/nologin -g mysql -M
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 make && make install
创建数据目录 mkdir -p /usr/local/mysql/data chown -R mysql.mysql /usr/local/mysql chmod -R 777 /tmp/
初始化数据库 cd /usr/local/mysql/ cd scripts/ ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
复制配置文件 cd /home/fangyue/work/lnmp/mysql-5.5.44 cp support-files/my-small.cnf /etc/my.cnf
复制启动文件 cp support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld nano /etc/my.cnf #如果启动不了,可以修改一下配置文件,添加datadir = 你配置的路径 http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/fangyue/AppData/Local/YNote/data/854289665@qq.com/c1582849dc984612a4cc9386c0c5c846/clipboard.png service mysqld start(还是启动不了在[mysqld]下面加一行federated)
为root用户提供密码 #usr/local/mysql/bin/mysqladmin -u root password '123456' 设置环境变量 nano /etc/profile PATH=$PATH:/usr/local/mysql/bin/ . /etc/profile mysql -u root -p
至此mysql就编译安装好咯,至于php留着下次编译,下班回家
三、php的编译安装 其实LAMP和LNMP其实差不多,主要是apache是把php作为模块编译,而nginx是作为fast-cgi,php是进程
php依赖编译安装(1)、libxml2-2.7.2.tar.gz tar xf libxml2-2.7.2.tar.gz cd libxml2-2.7.2 ./configure --prefix=/usr/local/libxml2 make && make install
(2)、jpegsrc.v9a.tar.gz mkdir -p /usr/local/jpeg9 mkdir -p /usr/local/jpeg9/bin mkdir -p /usr/local/jpeg9/lib mkdir -p /usr/local/jpeg9/include mkdir -p /usr/local/jpeg9/man mkdir -p /usr/local/jpeg9/man1 mkdir -p /usr/local/jpeg9/man/man1
tar xf jpegsrc.v9a.tar.gz cd jpeg-9a ./configure --prefix=/usr/local/jpeg9/ --enable-shared --enable-static make && make install
(3)、libpng-1.6.10.tar.gz tar xf libpng-1.6.10.tar.gz cd libpng-1.6.10 ./configure --prefix=/usr/local/png make && make install
(4)、freetype-2.5.5.tar.bz2 tar xf freetype-2.5.5.tar.bz2 cd freetype-2.5.5 mkdir -p /usr/local/freetype ./configure --prefix=/usr/local/freetype make && make install
(5)、libiconv-1.14.tar.gz tar xf libiconv-1.14.tar.gz cd libiconv-1.14 cd srclib gedit stdio.in.h通过搜索,定位到_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");这一行,然后在这一行的前后加上条件编译即可,修改后的内容如下: #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); #endif
./configure --prefix=/usr/local/iconv make && make install
(6)、curl-7.42.1.tar.gz tar xf curl-7.42.1.tar.gz cd curl-7.42.1 ./configure --prefix=/usr/local/curl make && make install
(7)、libgd-2.1.0.tar.gz tar xf libgd-2.1.0.tar.gz cd libgd-2.1.0 ./configure --prefix=/usr/local/gd \ --with-jpeg=/usr/local/jpeg9/ \ --with-png=/usr/local/png \ --with-zlib \ --with-freetype=/usr/local/freetype make && make install
(8)、libmcrypt-2.5.8.tar.bz2 tar xf libmcrypt-2.5.8.tar.bz2 cd libmcrypt-2.5.8 ./configure make && make install
(9)、mhash-0.9.9.9.tar.bz2 tar xf mhash-0.9.9.9.tar.bz2 cd mhash-0.9.9.9 ./configure make && make install
(10)、mcrypt-2.6.8.tar.gz tar xf mcrypt-2.6.8.tar.gz cd mcrypt-2.6.8 注意config的时候会提示找不到libmcrpyt 解决:ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH ./configure make && make install
(11)、php5.6.8编译 php-5.6.8.tar.gz
tar xf php-5.6.8.tar.gz cd php-5.6.8 ./configure --prefix=/usr/local/php-nginx \ --with-mysql=/usr/local/mysql \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-freetype-dir=/usr/local/freetype \ --with-gd=/usr/local/gd \ --with-zlib \ --with-libxml-dir=/usr/local/libxml2 \ --with-jpeg-dir=/usr/local/jpeg9 \ --with-png-dir=/usr/local/png \ --with-curl=/usr/local/curl \ --with-mhash \ --enable-mbstring \ --enable-xml \ --enable-shmop \ --enable-sysvsem \ --enable-bcmath \ --enable-fpm \ --enable-gd-native-ttf \ --enable-sockets \ --enable-zip \ --enable-soap \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-ftp \ --enable-shared
make && make install 如果在make php-5.5.5时提示没有X11/xpm.h 则安装 apt-get install libXpm-dev 再make && make install
(12)、配置修改/usr/local/nginx/conf/nginx.confcd /usr/local/nginx/confnano nginx.confhttp://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/fangyue/AppData/Local/YNote/data/854289665@qq.com/0d19d1c1198c4a578f087095a5211e93/clipboard.pngfastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:/Users/fangyue/AppData/Local/YNote/data/854289665@qq.com/6c31939464b24e77b2ee9ca53d9cd8e9/clipboard.png 复制配置文件 cp /home/fangyue/work/lnmp/php-5.6.8/php.ini-development /usr/local/php-nginx/lib/php.ini
cd /usr/local/php-nginx/etc cp php-fpm.conf.default php-fpm.conf /usr/local/nginx/sbin/nginx /usr/local/php-nginx/sbin/php-fpm cd /usr/local/nginx/html nano phpinfo.php <?php phpinfo(); ?>
/usr/local/nginx/sbin/nginx -s reload
[iyunv@localhost sbin]# ./nginx -s reloadnginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)解决方法:[iyunv@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf