美文网首页
Linux下编译安装Lnmp

Linux下编译安装Lnmp

作者: 可口遇见可乐 | 来源:发表于2021-03-09 16:37 被阅读0次

1、安装gcc编译器和依赖

  • 在编译安装之前先安装需要的依赖库和编译软件安装
yum install gcc gcc-c++ glibc -y
yum install pcre-devel -y
yum install zlib-devel -y
yum install openssl-devel -y

2、安装nginx

  1. 下载解压
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar zxf nginx-1.15.8.tar.gz
cd nginx-1.15.8
  1. config配置
./configure  --prefix=/usr/local/nginx\  
--sbin-path=/usr/local/nginx/sbin/nginx\ 
--conf-path=/usr/local/nginx/conf/nginx.conf\ 
--error-log-path=/var/log/nginx/error.log\  
--http-log-path=/var/log/nginx/access.log\  
--pid-path=/var/run/nginx/nginx.pid\ 
--lock-path=/var/lock/nginx.lock\  
--user=nginx\
--group=nginx\ 
--with-http_ssl_module\ 
--with-http_stub_status_module\ 
--with-http_gzip_static_module\ 
--http-client-body-temp-path=/var/tmp/nginx/client/\ 
--http-proxy-temp-path=/var/tmp/nginx/proxy/\ 
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\ 
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi\ 
--http-scgi-temp-path=/var/tmp/nginx/scgi\ 
--with-pcre

或者格式化成这样
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
2.1 nginx编译参数解析

–prefix #nginx安装目录,默认在/usr/local/nginx
–pid-path #pid问件位置,默认在logs目录
–lock-path #lock问件位置,默认在logs目录
–with-http_ssl_module #开启HTTP SSL模块,以支持HTTPS请求。
–with-http_dav_module #开启WebDAV扩展动作模块,可为文件和目录指定权限
–with-http_flv_module #支持对FLV文件的拖动播放
–with-http_realip_module #支持显示真实来源IP地址
–with-http_gzip_static_module #预压缩文件传前检查,防止文件被重复压缩
–with-http_stub_status_module #取得一些nginx的运行状态
–with-mail #允许POP3/IMAP4/SMTP代理模块
–with-mail_ssl_module #允许POP3/IMAP/SMTP可以使用SSL/TLS
–with-pcre=../pcre-8.11 #注意是未安装的pcre路径
–with-zlib=../zlib-1.2.5 #注意是未安装的zlib路径
–with-debug #允许调试日志
–http-client-body-temp-path #客户端请求临时文件路径
–http-proxy-temp-path #设置http proxy临时文件路径
–http-fastcgi-temp-path #设置http fastcgi临时文件路径
–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #设置uwsgi 临时文件路径
–http-scgi-temp-path=/var/tmp/nginx/scgi #设置scgi 临时文件路径
  1. 编译安装
make && make install
  1. 增加nginx用户
useradd nginx -s /sbin/nologin -M
  1. 添加软链
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
  1. 启动nginx
/opt/local/nginx/sbin/nginx

or

nginx -t //已经软连接过了
nginx

3、安装php

  1. 下载解压
wget http://cn2.php.net/distributions/php-7.2.8.tar.gz
tar -xzf php-7.2.8.tar.gz
cd php-7.2.8
  1. 安装依赖包
    yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
  2. config配置
    php7版本正确的编译语句是:
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-libmbfl --enable-ftp --with-gd --enable-gd-jis-conv --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
  3. 编译安装
make && make install

安装过程大约需要20分钟时间

  1. 配置PHP
  • 在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
cp php.ini-production /usr/local/php/php.ini
  • [可选项] 设置让PHP错误信息打印在页面上
vim /usr/local/php/php.ini 

设置
display_errors = On

  • 复制启动脚本:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
  • 修改php-fpm配置文件:
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
(去掉 pid = run/php-fpm.pid 前面的分号)
cd php-fpm.d
cp www.conf.default www.conf
  • [可选项]修改user和group
$ vim www.conf
修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)
  • 添加软链
ln -s /usr/local/php/bin/php  /usr/bin/php
  • 启动PHP
$ /etc/init.d/php-fpm start        #php-fpm启动命令
$ /etc/init.d/php-fpm stop         #php-fpm停止命令
$ /etc/init.d/php-fpm restart        #php-fpm重启命令
$ ps -ef | grep php 或者 ps -A | grep -i php  #查看是否已经成功启动PHP
  1. 扩展安装
  • 缺少ssl扩展的时候可以重新再次编译PHP,加上--enable-openssl (或者 --with-openssl)参数即可。
    但是如果只为了安装这一个扩展就去重新编译,未免有点麻烦,其实可以简单一点,只要安装openssl.so扩展就可以了。
    备注:其他的扩展安装方法同理。
    1)找到之前编译安装PHP的安装包,
    2)解压并进入文件夹
    cd /home/kemeng/php-7.2.21/ext/openssl #以openssl为例
    
    3)运行 phpize:
    /usr/local/php/bin/phpize
    
    备注,如果出现如下错误:Cannot find config.m4.
    Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
    【解决办法】cp ./config0.m4 ./config.m4 即可解决

    4)编译和安装
    ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
    make && make install
    
    5)配置php.ini 开启curl.so
    extension=curl.so 去掉 ";"
    6)重启php-fpm和nginx/apache,查看phpinfo()或者 php -m;

4、安装mysql

编译安装时内存不足,最后选择了yum安装
https://www.cnblogs.com/z0909y/p/10772854.html

参考文章 https://www.cnblogs.com/dump/p/10329850.html

相关文章

网友评论

      本文标题:Linux下编译安装Lnmp

      本文链接:https://www.haomeiwen.com/subject/ancqqltx.html