这篇文章主要介绍“如何编译安装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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。