lnmp lua编译安装

https://www.cnblogs.com/xxoome/p/5884063.html

https://blog.csdn.net/remotesupport/article/details/13022935

yum -y install make gcc lua-devel pcre-devel openssl-devel

 cd LuaJIT-2.0.4/
 make
 make install PREFIX=/usr/local/luajit
 cd nginx-1.9.7
 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_random_index_module --with-http_realip_module --with-http_sub_module  --with-http_image_filter_module --with-http_gzip_static_module --with-http_addition_module --with-http_geoip_module  --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/root/lnmp/ngx_devel_kit-master/ --add-module=/root/lnmp/lua-nginx-module-master/
 make && make install
 nginx -s reload
 nginx -V

  1 yum update
  2 rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-6.noarch.rpm
  3 yum -y install bzip2-devel curl-devel freetype-devel gcc libjpeg-devel libpng-devel libxslt-devel libxml2-devel openssl-devel pcre-devel pcre-devel zlib-devel
  4 tar -zxvf php-7.2.6.tar.gz
  5 cd php-7.2.6
  6 ./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-    pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --ena    ble-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
  7 make
  8 make install
  9 /usr/local/php/bin/php -v
 10 tar -zxvf nginx-1.9.7.tar.gz
 11 tar -zxvf php-5.5.4.tar.gz
 12 cd nginx-1.9.7
 13 yum install gd-devel
 14 yum -y install GeoIP GeoIP-devel GeoIP-data
 15 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_random_index_module --with-http_realip_module --with-http_sub_module  --with-http_image_filter_module --with-http_gzip_static_module --with-http_addition_module --with-http_geoip_module
 16 make && make install
 17 cd php-5.5.4
 18 ./configure --prefix=/usr/local/php5 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-    pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --ena    ble-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --with-mysql

如果已经安装了可能会进行升级,版本完全一致则不会进行任何操作。

yum -y install bzip2-devel curl-devel freetype-devel gcc libjpeg-devel libpng-devel libxslt-devel libxml2-devel openssl-devel pcre-devel pcre-devel zlib-devel

http://www.jquerycn.cn/a_16599

 yum install libmcrypt libmcrypt-devel mcrypt mhash

--with-mcrypt 

   1、下载php

下载地址:http://php.net/get/php-7.0.11.tar.gz/from/a/mirror

下载“php-7.0.11.tar.gz”后移动到linux服务器的任意目录下,只在编译时指定安装到的目录。

    2、解压安装包

tar -zxvf php-7.0.11.tar.gz
cd php-7.0.11

    3、配置安装变量

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

“/usr/local/php”是安装路径,可以改成自己喜欢的安装路径。

    4、编译源码

# 在解压目录执行编译命令:make
cd php-7.0.11 make

编译会花费一些时间,耐心等待即可。编译完成的最后会提示你执行make test命令。就是对上一步 make 的检查,

要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0

    5、安装php

make install

   6、配置PHP

将PHP源码包(/usr/local/php-7.0.11)中的php.ini-development文件复制到/usr/local/php/下,更名为php.ini。

cp /usr/local/php-7.0.11/php.ini-development /usr/local/php/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

配置php.ini “cgi.fix_pathinfo=0”

启动php-fpm服务:

/usr/local/php/sbin/php-fpm

启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:

    7、配置nginx

nginx安装教程:http://www.cnblogs.com/xxoome/p/5866475.html

编辑nginx配置文件/usr/local/nginx/conf/nginx.conf,主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:  

然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root

修改完这些保存并退出,然后重启nginx:/usr/local/nginx/sbin/nginx -s reload

接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:

<?php
    phpinfo();
?>

然后打开浏览器输入对应的地址进行访问,看到输出页面,说明nginx和php都配置成功了

rpm -qf /usr/bin/scp

rpm -ql openssl

php -i | grep configure

nginx

cat /etc/yum.repos.d/epel.repo 
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
gpgcheck=0
yum -y install make gcc lua-devel pcre-devel openssl-devel
wget http://nginx.org/download/nginx-1.9.7.tar.gz
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.5.tar.gz
tar -xf nginx-1.9.7.tar.gz
tar -xf LuaJIT-2.1.0-beta2.tar.gz
tar -xf v0.2.19.tar.gz
tar -xf v0.10.5.tar.gz
mkdir /app
cp -r LuaJIT-2.1.0-beta2 lua-nginx-module-0.10.5 ngx_devel_kit-0.2.19 /app
cd LuaJIT-2.1.0-beta2 && make && make install
./configure --prefix=/app/nginx/ --with-ld-opt=-Wl,-rpath,这里编译的luajit的lib路径 --add-module=/app/ngx_devel_kit-0.2.19/ --add-module=/app/lua-nginx-module-0.10.5/ --with-http_ssl_module  --with-http_stub_status_module  --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module  --with-http_degradation_module --with-http_stub_status_module

make && make install

/data/dev.www --> /data/dev.www/
/ngx_conf/   --> /ngx_conf/

/data/www/项目名
/data/www/logs

 宿主机目录

*********************************************************************
 redis
 redis.so 2.2.5

yum -y install redis
********************************************************************
php5

yum -y install libxml2-devel libcurl-devel libjpeg-devel  libpng-devel  freetype-devel openldap-devel libmcrypt-devel
cp -frp /usr/lib64/libldap* /usr/lib/

./configure --prefix=/app/php5 --with-curl=/app/local/curl --with-curlwrappers --enable-calendar --with-libxml-dir=/app/local/libxml2/ --with-xsl=/app/local/libxslt --with-libexpat-dir=/app/local/expat --with-gd --with-jpeg-dir=/app/local/jpeg6/ --with-zlib --with-zlib-dir=/app/local/zlib/ --with-mhash --with-openssl --enable-zip --with-ldap --enable-sqlite-utf8 --with-xmlrpc --with-png-dir=/app/local/libpng --with-freetype-dir=/app/local/freetype/ --with-mcrypt=/usr/local/lib/ --with-iconv-dir=/app/local/libiconv/ --enable-soap --enable-sockets --enable-fd-setsize=65535 --enable-mbstring=cn --enable-fastcgi --enable-fpm --enable-safe-mode --enable-inline-optimization --enable-force-cgi-redirect --enable-discard-path --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --with-pdo-mysql --with-mysqli --with-mysql

------------------------------------添加扩展
yum -y install autoconf
cd /opt/php-5.5.4/ext/pcntl/
/app/php5/bin/phpize
./configure  --with-php-config=/app/php5/bin/php-config
make
cp modules/pcntl.so /app/php5/lib/php/extensions/no-debug-non-zts-20121212/

wget http://pecl.php.net/get/redis-2.2.5.tgz
tar -xf redis-2.2.5.tgz

cd redis-2.2.5

[root@lnmp redis-5.0.0]# cp /root/lnmp/php-7.2.6/ext/openssl/config0.m4 ./config.m4
[root@lnmp redis-5.0.0]# /usr/local/php/bin/phpize

/app/php5/bin/phpize
./configure  --with-php-config=/app/php5/bin/php-config
make
cp  modules/redis.so  /app/php5/lib/php/extensions/no-debug-non-zts-20121212/
**********************************************************************
php7

libicu-devel gcc gcc-c++
./configure  --prefix=/app/php7 --with-config-file-path=/app/php7/etc --with-config-file-scan-dir=/app/php7/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl

***********************************************************************
提交
启动容器
docker run --privileged -ti --name test  docker.io/centos:7  /usr/sbin/init

docker run -it -d --name guojianlong_test -v /docker_mount/app_www/dev.guojianlong:/data/www -v /docker_mount/ngx_conf/:/data/ngx_conf zm-dev-base:v1.1 '/bin/bash'
启动进程

docker exec -d guojianlong_test /bin/bash /app/shell/start_dev.sh

docker commit -a 'kongxiangwen' -m 'nginx+php5.5+php7.0+redis3.2' zm-dev-base zm-dev-base:v1.2

**************************************************************************
添加用户

useradd ${name}
ssh-keygen -q -f /home/${name}/.ssh/id_rsa-dev-docker_${name} -N ''
touch /home/${name}/.ssh/authorized_keys
chmod 600 /home/${name}/.ssh/authorized_keys
cat /home/${name}/.ssh/id_rsa.pub >> /home/${name}/.ssh/authorized_keys

echo "${name} 你的dev环境账户已创建,请下载私钥并保存好。" | mailx -s "dev环境账户创建" -a /home/${name}/.ssh/id_rsa-dev-docker_${name} ${name}@shtest.com

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '"$http_x_forwarded_for" - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" $remote_addr';

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80 default_server;
        server_name yansiyu.test-zhifu.test.com;
        root /data/dev.www/yansiyu.dev.test.com/public;
        access_log  /data/dev.www/logs/access.log main;
        error_log /data/dev.www/logs/error.log;
        index index.html index.php;

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                            if ($host !~ (.*news\.test\.com$|.*test\.com$|.*test\.com$)) {
                        fastcgi_pass 127.0.0.1:9055;
                }
                if ($host ~ .*news\.test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }
                if ($host ~ .*test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }

                if ($host ~ .*test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }

                if ($host ~ .*test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }

        }
    }

}

nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '"$http_x_forwarded_for" - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" $remote_addr';

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80 default_server;
        root /data/dev.www/${host}/public;
        access_log  /data/dev.www/logs/access.log main;
        error_log /data/dev.www/logs/error.log;
        index index.html index.php;

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                            if ($host !~ (.*news\.test\.com$|.*test\.com$)) {
                        fastcgi_pass 127.0.0.1:9055;
                }
                if ($host ~ .*news\.test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }
                if ($host ~ .*test\.com$) {
                        fastcgi_pass 127.0.0.1:9072;
                }

        }
    }

}

    A+
发布日期:2018年05月15日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: