nginx安装

来源:互联网 发布:wix链接国内域名 编辑:程序博客网 时间:2024/06/05 22:45
1.安装一些必须的模块
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel 
2.下载
wget http://nginx.org/download/nginx-1.8.1.tar.gz
3.解压
tar -zxvf nginx-1.8.1.tar.gz 
4.进入目录
cd nginx-1.8.1
5.编译,生成makefile文件,编译时./configure --help以--without开头的都默认安装。
./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
6.根据Makefile文件生成相应的模块
make
7.创建目录,并将生成的模块和文件复制到相应的目录
make install
8.修改原端口80为8090,以免和httpd的端口冲突(如果没有安装httpd,这一步省略)
vim  /usr/local/nginx/conf/nginx.conf
 server {
        listen       8090;
        server_name  localhost;
如果你安装了httpd,却没有进行这一步,启动时会报错,如下
[root@localhost sbin]# ./nginx 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
9.创建这个文件夹
mkdir -p /var/tmp/nginx/client
如果不进行这一步,启动时会报错
[root@localhost nginx-1.8.1]# ./nginx

nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)

10. 创建nginx组和nginx用户

groupadd nginx

useradd nginx -g nginx

11. 如果报错如下

[root@localhost sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf
[root@localhost sbin]# nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)

解决办法:在/var/run下创建nginx文件,[root@localhost run]# mkdir nginx



一些操作命令
11,验证配置文件是否正确
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -t
12. 查看nginx进程
[root@localhost sbin]# ps -ef |grep nginx 
13.启动nginx程序
[root@localhost sbin]# ./nginx 
或[root@localhost sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
14.从容停止(等待当前子进程处理完正在执行的请求后,结束 nginx 进程)
[root@localhost sbin]# kill -quit 36657
15.快速停止
[root@localhost sbin]# kill -term 36679
或[root@localhost sbin]# kill -int 36679
16.强制停止
[root@localhost sbin]# pkill -9 nginx 
或[root@localhost sbin]# ./nginx -s stop
17.重启
[root@localhost sbin]# ./nginx -s reload
或[root@localhost sbin]# ps -ef |grep nginx 
root      37961      1  0 11:19 ?        00:00:00 nginx: master process ./nginx
nginx     37981  37961  0 11:23 ?        00:00:00 nginx: worker process
root      37983  32988  0 11:23 pts/0    00:00:00 grep nginx
[root@localhost sbin]# kill -HUP 37961
0 0