CentOS7下搭建Nginx+PHP7的安裝配置


一、安裝編譯工具及庫文件:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

環境要求

安裝nginx需要先將官網下載的源碼進行編譯,nginx是C語言開發,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++

zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。

二、首先要安裝 PCRE

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要安裝pcre庫。

注:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。

1、PCRE 作用是讓 Nginx 支持 Rewrite 功能。

cd /usr/local/src/   # 進入目錄

下載 PCRE 安裝包,下載地址: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

2、解壓安裝包:

tar -zxvf pcre-8.35.tar.gz

3、進入安裝包目錄

cd pcre-8.35/

4、編譯安裝 

./configure

make && make install

5、查看pcre版本

 pcre-config --version

三、安裝 Nginx

1、下載 Nginx,下載地址:http://nginx.org/download/nginx-1.14.1.tar.gz

生產環境中建議使用Stable version(穩定版)

注意各版本的區別:Nginx官網提供了三個類型的版本

(1)Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以說是開發版
(2)Stable version:最新穩定版,生產環境上建議使用的版本
(3)Legacy versions:老版本的穩定版

cd /usr/local/src/

wget http://nginx.org/download/nginx-1.14.1.tar.gz

2、解壓安裝包:

tar -zxvf nginx-1.14.1.tar.gz

3、進入安裝包目錄

cd nginx-1.14.1/

4、編譯安裝

./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35      # 編譯源碼包代碼,追加--prefix參數,指定稍后源碼包程序的安裝路徑

make      # 生成二進制安裝程序

make install     # 運行二進制安裝程序

5、查看nginx版本

/usr/local/webserver/nginx/sbin/nginx -v

到此,nginx安裝完成。

四、Nginx 配置

創建 Nginx 運行使用的用戶和組 www

groupadd www
useradd -g www www

配置nginx.conf ,將 /usr/local/webserver/nginx/conf/nginx.conf 替換為以下內容

mv nginx.conf nginx.conf-backup     # 備份nginx的配置文件

vim nginx.conf     # 新建nginx的配置文件,寫入以下內容

user www www;
worker_processes 2;   # 設置值和系統CPU核心數一致,可自定義
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;  # 日志位置和日志級別
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
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';

#charset gb2312;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;

sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m;
# 下面是server虛擬主機的配置
server
{

listen 8000;   # 監聽端口(根據自己的需求更改)
server_name localhost;   # 域名
index index.html index.htm index.php;
root /usr/local/webserver/nginx/html;   # 站點目錄(也就是以后存放php文件的根目錄)
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;   # 需要特別注意這個配置,這里是用來連接Nginx和PHP的php-fpm服務的默認端口9000,php-fpm服務后面會安裝,可以根據自己的需求更改
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
{
expires 30d;
# access_log off;
}
location ~ .*\.(js|css)?$
{
expires 15d;
# access_log off;
}
access_log off;
}

}

檢查配置文件nginx.conf的正確性命令:

/usr/local/webserver/nginx/sbin/nginx -t

五、啟動 Nginx

Nginx 啟動命令如下:

/usr/local/webserver/nginx/sbin/nginx
ps -ef | grep nginx

六、訪問Nginx

從瀏覽器訪問我們配置的站點IP,如果出現Welcome to nginx!那么nginx就安裝成功了!

Nginx 其他命令

以下包含了 Nginx 常用的幾個命令:

/usr/local/webserver/nginx/sbin/nginx -s reload      # 重新載入配置文件

/usr/local/webserver/nginx/sbin/nginx -s reopen     # 重啟nginx

/usr/local/webserver/nginx/sbin/nginx -s stop         # 停止nginx

七、安裝PHP7

(1)安裝php7

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64

安裝完成后鍵入php -v會顯示出php的版本,代表php安裝完成了,接着往下看。

Nginx和PHP都安裝完成了,此時還得配置php-fpm服務。讓nginx與php連接起來,才能使用。

(2)安裝php-fpm

yum install php70w-fpm php70w-opcache

打開php-fpm配置文件

vim /etc/php-fpm.d/www.conf

修改以下內容(這里查找配置項時,可以在末行模式下使用斜杠加要查找的關鍵字回車查找,如下圖所示)

將listen.owner與listen.group參數分別修改為www

(3)最后,把三個參數修改完成后:wq退出,然后啟動 php-fpm 服務

systemctl start php-fpm

注意:/var/log/php-fpm/error.log文件是php-fpm服務的錯誤日志文件,要是有什么錯誤可以去查看,我遇到了php-fpm服務默認9000端口被占用,導致php-fpm服務啟動不了,要是你也遇到,更改沖突端口。

(4)開機啟動設置

systemctl enable php-fpm
systemctl daemon-reload

(5)在之前設置的php目錄下,新建一個php文件用於測試。

在 /usr/local/webserver/nginx/html 目錄下建立 index.php 文件

cd /usr/local/webserver/nginx/html

vim index.php

(6)輸入以下內容:

<?php
 phpinfo();
?>

退出保存

(7)重啟Nginx

/usr/local/webserver/nginx/sbin/nginx -s reopen     # 重啟nginx

/usr/local/webserver/nginx/sbin/nginx    # 啟動nginx

ps -ef | grep nginx    # 以全格式查看所有nginx服務的進程信息

 

(8)然后,在瀏覽器上訪問你的IP地址:端口號/index.php如果看到以下畫面,則說明我們的 nginx + php 成功關聯上了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM