文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何编译安装nginx和php

2023-07-04 19:30

关注

这篇文章主要介绍“如何编译安装nginx和php”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何编译安装nginx和php”文章能帮助大家解决问题。

编译安装nginx和php的方法:1、通过yum install命令安装依赖包;2、下载源码包并解压编译;3、修改虚拟主机配置文件;4、启动nginx并配置systemctl启动;5、下载php并解压编译即可。

nginx和php编译安装

nginx编译安装

安装依赖包

yum install -y gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel

下载源码包并解压

[root@web03 ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz[root@web03 ~]# tar xf nginx-1.18.0.tar.gz[root@web03 ~]# cd nginx-1.18.0/

编译源码

[root@web03 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_v2_module \--with-http_realip_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre \--with-stream \--with-stream_ssl_module \--with-stream_realip_module[root@web03 nginx-1.18.0]#  make && make install[root@web03 nginx-1.18.0]# cd /usr/local/nginx/[root@web03 nginx]# tree.├── conf│   ├── fastcgi.conf│   ├── fastcgi.conf.default│   ├── fastcgi_params│   ├── fastcgi_params.default│   ├── koi-utf│   ├── koi-win│   ├── mime.types│   ├── mime.types.default│   ├── nginx.conf│   ├── nginx.conf.default│   ├── scgi_params│   ├── scgi_params.default│   ├── uwsgi_params│   ├── uwsgi_params.default│   └── win-utf├── html│   ├── 50x.html│   └── index.html├── logs└── sbin    └── nginx

基本配置

[root@web03 nginx]# useradd -s /sbin/nologin -M www[root@web03 conf]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/[root@web03 nginx]# mkdir conf/conf.d# 拆分默认配置和虚拟主机user  www;worker_processes  auto;error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';    access_log  logs/access.log  main;    sendfile        on;    tcp_nopush     on;    server_tokens off;    #keepalive_timeout  0;    keepalive_timeout  65;    gzip  on;    include conf.d/*.conf;   }#虚拟主机配置文件[root@web03 conf]# vim conf.d/www.confserver {    listen       80;    server_name  localhost;    charset utf-8;    location / {        root   html;        index  index.html index.htm;    }    error_page  404              /404.html;    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   html;    }    location ~ \.php$ {        proxy_pass   http://127.0.0.1;    }    location ~ \.php$ {        root           html;        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME              $document_root$fastcgi_script_name;        include        fastcgi_params;        proxy_set_header   Referer           $http_referer;        proxy_set_header   Cookie            $http_cookie;        proxy_set_header   X-Real-IP         $remote_addr;        proxy_set_header   X-Forwarded-For          $proxy_add_x_forwarded_for;    }}

启动nginx

nginxnginx -s reload 重启

配置systemctl启动

[root@web03 conf]# cat /usr/lib/systemd/system/nginx.service[Unit]Description=The nginx HTTP and reverse proxy serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -tExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadKillSignal=SIGQUITTimeoutStopSec=5KillMode=processPrivateTmp=true[Install]WantedBy=multi-user.target

php二进制

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpmrpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmyum install php71w

php编译安装

依赖包

源码下载

[root@web03 ~]# wget http://hk1.php.net/get/php-7.2.33.tar.gz[root@web03 ~]# tar xf php-7.2.33.tar.gz[root@web03 ~]# cd php-7.2.33/

编译

yum install bzip2 bzip2-devel -yyum install  curl curl-devel -yyum install php-mcrypt  libmcrypt  libmcrypt-devel -yyum install readline-devel -y ./configure --prefix=/usr/local/php7 --enable-fpm \--with-zlib \--enable-inline-optimization \ --disable-debug \--disable-rpath \ --enable-shared \--enable-opcache \--with-fpm-user=www \--with-fpm-group=www \--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-gettext \--enable-mbstring \--with-iconv \--with-mcrypt \--with-mhash \--with-openssl \--enable-bcmath \--enable-soap \--with-libxml-dir \--enable-pcntl \--enable-shmop \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-sockets \--with-curl \--with-zlib \--enable-zip \--with-bz2 \--with-readline make && make install

配置

ln -s /usr/local/php/bin/php /usr/bin/phpphp -i | grep iniConfiguration File (php.ini) Path => /usr/local/php/libScan this dir for additional .ini files => (none)# 移动php.ini, 从源码拷贝[root@web03 ~]# cp php-7.2.33/php.ini-production /usr/local/php/lib/php.iniphp -i | grep iniLoaded Configuration File => /usr/local/php/lib/php.ini 已经加载配置文件# php-fpmcd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.confcp php-fpm.d/www.conf.default php-fpm.d/www.conf# 更改www.confsed -i 's#nobody#www#g' www.conf

system启动

[root@web03 conf]# cat /usr/lib/systemd/system/php-fpm.service[Unit]Description=php-fpmAfter=syslog.target network.target[Service]Type=forkingExecStart=/usr/local/php/sbin/php-fpmExecReload=/bin/kill -USR2 $MAINPIDExecStop=/bin/kill -INT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target# 启动[root@web03 etc]# systemctl daemon-reload[root@web03 etc]# systemctl start php-fpm.service

测试nginx

[root@web03 sbin]# cd /usr/local/nginx/html/[root@web03 html]# cat index.php <?phpphpinfo()?>systemctl restart nginx

测试mysql

<?php $link=mysql_connect("172.25.90.14","root","redhat"); if(!$link) echo "FAILD!连接错误,用户名密码不对"; else echo "OK!可以连接"; ?>

关于“如何编译安装nginx和php”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯