Nginx安装所需环境

Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。

一. GCC——GNU编译器集合(GCC可以使用默认包管理器的仓库(repositories)来安装,包管理器的选择依赖于你使用的Linux发布版本,包管理器有不同的实现:yum是基于Red Hat的发布版本;apt用于Debian和Ubuntu;yast用于SuSE Linux等等。)

yum install gcc

二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

官网下载

1.直接下载.tar.gz安装包,地址:https://http://nginx.org/en/download.html
2.使用wget命令下载(推荐)。

wget -c https://nginx.org/download/nginx-1.16.0.tar.gz

我下载的是nginx-1.16.0.tar.gz版本

解压

依然是直接命令:

建议下载到 /usr/local/src 路劲下,编译源码

tar -zxvf nginx-1.15.0.tar.gz
cd nginx-1.15.0

配置

使用默认配置- 编译参数

./configure

编译安装

make
make install

查找安装路径:

whereis nginx

启动、停止nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

查询nginx进程:

ps aux|grep nginx

重启 nginx

Nginx配置文件注释:

 [root@localhost conf]# vim nginx.conf

worker_processes  1;    #worker进程的数量
events {                #事件块的开始
worker_connections  1024;            #每个worker进程支持的最大连接数
}                       #事件块的结束
http {                  #HTTP区块的开始
include       mime.types;                #Nginx支持媒体类型库文件
default_type  application/octet-stream;    #默认的媒体类型
sendfile        on;                        #开启高速传输模式
keepalive_timeout  65;                     #连接超时
server {                                    #第一个server区块的开始
        listen      80;                        #提供服务的端口,默认为80
server_name   www.nautilus.org ;                 #提供服务的域名主机
location / {                            #第一个location区块的开始
    root   html/www;                        #站点的根目录,相当于Nginx的安装目录
    index  index.html index.htm;        #默认的首页文件,多个使用空格隔开
}                                        #第一个location区块的结束
error_page   500 502 503 504  /50x.html;    #出现对应的http状态码是,使用50x.html回应客户
location = /50x.html {                    #location区块的开始,访问50x.html
    root   html;                            #指定对应的站点目录为html
}
}
}                                                   #HTTP区块的结束

操作步骤

[root@localhost nginx]# ls
client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
conf              html          proxy_temp  scgi_temp
[root@localhost nginx]# cd html
[root@localhost html]#
[root@localhost html]# mkdir www    
[root@localhost html]#      
[root@localhost html]# cd www
[root@localhost www]# ls
index.html
[root@localhost www]# vim index.html
     hello  localhost

[root@localhost nginx]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.31.1.32     www.nautilus.org

1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

./nginx -s quit
./nginx

2.重新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload

启动成功后,在浏览器可以看到这样的页面:

nginx,mysql, php总结

mysql

msyql是一个开源的关系型数据库系统,非常快、可靠、可扩展且易于使用。

安装方式:

1.源码安装

2.二进制文件安装

3.yum安装或自定制rpm安装

下载地址:

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz

安装所需

yum -y install cmake bison git ncurses-devel gcc gcc-c++

groupadd mysql
useradd -g mysql mysql

解压

tar zxvf mysql-5.6.38.tar.gz 

    mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

 cd mysql-5.6.22/   

配置编译参数

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1

编译安装

 make   
 make install

修改目录属主权限

chown -R mysql:mysql /usr/local/mysql/data/
chown -R mysql:mysql /usr/local/mysql/

数据库初始化

scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/mysql --pid-file=/usr/local/mysql/data/mysql/mysql.pid --tmpdir=/tmp 

chown -R  mysql:mysql my.cnf

vim  my.cnf

basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = .....
server_id = .....
socket = /usr/local/mysql/mysql.sock
log-error= /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid

cd /usr/local/mysql/support-files

mysql启动

./mysql.server start  

cd /usr/local/mysql/bin
./mysql -u root -p

php安装

下载 PHP 源码包

 wget http://cn2.php.net/distributions/php-5.6.0.tar.xz

解压

 xz -d php-5.6.0.tar.xz
 tar xf php-5.6.0.tar -C /usr/local/src/

安装所需

yum  install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel 

yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel bz2-devel  

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

yum -y install libmcrypt-devel   mhash   mcrypt 

创建 www 用户

groupadd www
useradd -g www -s /sbin/nologin -M www

编译安装

cd /usr/local/src/php-5.6.0/

 ./configure \
--prefix=/usr/local/php56 \
--with-config-file-path=/usr/local/php56/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--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\
--with-gd

make
make install

cd /usr/local/src/php-5.6源码包  

配置文件:

    cp php.ini-development /usr/local/php56/etc/php.ini

php-fpm 服务

cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf

 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56  (php-fpm的可执行文件)
 chmod +x /etc/init.d/php-fpm56

启动 php-fpm(nginx与 php沟通 )

 service php-fpm56 start       

Starting php-fpm  done
php-fpm 可用参数 start|stop|force-quit|restart|reload|status

添加 PHP 命令到环境变量
编辑 /etc/profile ,将:

PATH=$PATH:$HOME/bin

改为:

PATH=$PATH:$HOME/bin:/usr/local/php56/bin

使 PHP 环境变量生效:

source  /etc/profile   

查看看 PHP 版本

php -v
PHP 5.6.0(cli)(built:Sep23201403:44:18)Copyright(c)1997-2014The PHP GroupZendEngine v2.6.0,Copyright(c)1998-2014ZendTechnologies