nginx安装详解及虚拟主机

nginx安装详解及虚拟主机1、编译安装Nginx1)、安装支持软件Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。[root@cxf 桌面]# mount /dev/cdrom /media/mount: block device /dev/sr0 is write-protected, mounting read-only[root@cxf 桌面]# cd /media/Pack
摘要由CSDN通过智能技术生成

nginx安装详解及虚拟主机

1、编译安装Nginx
1)、安装支持软件
Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。
[root@cxf 桌面]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@cxf 桌面]# cd /media/Packages/
[root@cxf Packages]# rpm -qa | grep httpd
httpd-2.2.15-29.el6.centos.x86_64
httpd-tools-2.2.15-29.el6.centos.x86_64
[root@cxf Packages]# rpm -e httpd –nodeps
[root@cxf Packages]# rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
mysql-5.1.71-1.el6.x86_64
mysql-devel-5.1.71-1.el6.x86_64
[root@cxf Packages]# rpm -e mysql --nodeps
[root@cxf Packages]# rpm -e mysql-devel
[root@cxf nginx-1.6.0]# userdel -r mysql
userdel: user ‘mysql’ does not exist

[root@cxf Packages]# rm -rf /etc/yum.repos.d/*
[root@cxf Packages]# vim /etc/yum.repos.d/yum.repo
[yum]
name=yum
baseurl=file:///media
enabled=1
gpgcheck=0

[root@cxf Packages]# yum -y install pcre-devel zlib-devel
Complete!
[root@cxf Packages]# rpm -qa | grep pcre-devel
pcre-devel-7.8-6.el6.x86_64
[root@cxf Packages]# rpm -qa | grep zlib-devel
zlib-devel-1.2.3-29.el6.x86_64

2)、创建运行用户、组
Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。
例:创建一个名为nginx的用户,不建立宿主文件夹,也禁止登录到Shell环境。
[root@localhost ~]# useradd -M -s /sbin/nologin nginx

3)、编译安装Nginx
配置Nginx的编译选项时,将安装目录设为/usr/local/nginx,运行用户和组均设为 nginx;启用http_stub_status_module模块以支持状态统计计,便于查看服务器的连接信息。具体选项根据实际需要来定,配置前可参考“./configure --help"给出的说明。
[root@cxf Packages]# cd /root/
[root@localhost ~]# tar zxf nginx-1.6.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.6.0/
[root@localhost nginx-160]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
Configuration summary

  • using system PCRE library
  • OpenSSL library is not used
  • md5: using system crypto library
  • sha1: using system crypto library
  • using system zlib library

nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/nginx/sbin/nginx”
nginx configuration prefix: “/usr/local/nginx/conf”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/usr/local/nginx/logs/nginx.pid”
nginx error log file: “/usr/local/nginx/logs/error.log”
nginx http access log file: “/usr/local/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”
nginx http uwsgi temporary files: “uwsgi_temp”
nginx http scgi temporary files: “scgi_temp”
[root@localhost nginx-1.6.0]# make
objs/src/http/modules/ngx_http_stub_status_module.o
objs/ngx_modules.o
-lpthread -lcrypt -lpcre -lcrypto -lcrypto -lz
make[1]: Leaving directory /usr/src/nginx-1.6.0' make -f objs/Makefile manpage make[1]: Entering directory/usr/src/nginx-1.6.0’
sed -e “s|%%PREFIX%%|/usr/local/nginx|”
-e “s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|”
-e “s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|”
-e “s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|”
< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory /usr/src/nginx-1.6.0' [root@localhost nginx-1.6.0]# make install make[1]: Leaving directory/usr/src/nginx-1.6.0’

[root@localhost nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.6.0]# ls -l /usr/local/sbin/nginx
lrwxrwxrwx. 1 root root 27 6月 3 17:01 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

2、Nginx的运行控制
1)、启动、停止Nginx
直接运行Nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加“-c配置文件路径”选项来指定路径。需要注意的是,若服务器中已装有httpd等其他Meb服务软件,应采取措施(修改端口、停用或卸载)避免冲突。
[root@localhost ~]# nginx
通过检查Nginx程序的监听状态,或者在浏览器中访问此Web服务(默认页面将显示“Welcome to nginx!”),可以以确认Nginx服务是否正常运行。
[root@localhost ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5955/nginx
[root@cxf nginx-1.6.0]# firefox http://192.168.6.10

3)、使用Nginx服务脚本
为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。
[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash

chkconfig:- 99 20

description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx" //主程序路径
PIDF="/usr/local/nginx/logs/nginx pid" //PID存放路径
case “$1” in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF) //根据PID终止Nginx进程
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF) //根据进程号重载配置
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit o

#!/bin/bash

chkconfig:2345 99 20

description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case “$1” in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo “Usage: $0 {start|stop|restart|reload}”
exit 1
esac
exit 0

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx //添加为系统服务

这样一来,就可以通过Nginx脚本来启动、停止、重启、重载 Nginx服务器了,方法是在执行时添加相应的start、stop、restart、reload参数。

2.1.2 配置文件 nginx.conf
1、全局配置
由各种配置语句组成,不使用特定的界定标记。全局配置部分包括Nginx服务的运行用户、工作进程数、错误日志、PID存放位置等基本设置。
[root@cxf init.d]# vim /usr/local/nginx/conf/nginx.conf
#user nobody; //运行用户
worker_processes 1; //工作进程数量

#error_log logs/error.log; //错误日志文件的位置
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid; //PID文件的位置

使用“events{}”界定标记,用来指定Nginx进程的I/O响应模型、每个进程的连接数等设置。对于2.6及以上版本的内核,建议使用epoll模型以提高性能;每个进程的连接数应根据实际需要来定,一般在10 000以下(默认为1024)。
events {
use epoll; //使用epoll模型
worker_connections 4096; //每进程处理4096个连接
}<

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值