centos7最小化环境安装nginx
wget http://nginx.org/download/nginx-1.12.1.tar.gz
【源码下载】
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
【安装编译工具以及第三方库】
tar zxvf nginx-1.12.1.tar.gz
【解压】
./configure --prefix=/usr/local/nginx
【进入解压后的文件夹,然后进行初始化】
make && make install
【编译安装】
nginx.conf 配置详解(两篇不错的博文,讲解详细)
http://www.ha97.com/5194.html
http://my.oschina.net/duxuefeng/blog/34880
创建用户组及用户
[root@web01 ~]# groupadd nginx
[root@web01 ~]# useradd nginx -g nginx -s /sbin/nologin -M
下载安装包
[root@localhost ~]# wget http://nginx.org/download/nginx-1.12.1.tar.gz
解压
[root@localhost ~]# tar zxvf nginx-1.12.1.tar.gz
安装编译工具以及第三方库
[root@web01 ~]# yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
编译安装
[root@web01 ~]# cd /opt/nginx-1.12.1
[root@web01 ~]# ./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --user=nginx --group=nginx
[root@localhost nginx-1.12.1]# make && make install
–prefix【指定安装目录,默认在/usr/local/路径下】
–sbin-path=/usr/sbin/nginx 【设置nginx的可执行文件的路径】
–conf-path=/etc/nginx/nginx.conf【设置nginx.conf配置文件的路径,nginx允许使用不同的配置文件启动,通过命令行-c 选项】
–error-log-path=/var/log/nginx/error.log 【 错误文件路径 】
现在已经安装后了一个最基本的Nginx服务器,其安装路径为/usr/local/nginx ,可执行路径在/usr/sbin,配置文件在/etc/nginx,日志路径在 /var/log/nginx,用户和用户组都为nginx
启动命令:在/usr/sbin目录下执行 ./nginx
关闭命令: 在/usr/sbin目录下执行 ./nginx -s stop
重新加载命令: 在/usr/sbin目录下执行 ./nginx -s reload
这时需配置环境变量,可在任意位置启停nginx
打开编辑系统环境变量文件 vi /etc/profile
,把 nginx 的 bin 路径加入到环境变量中:
export PATH=$PATH:/opt/usr/local/nginx/sbin
然后让 profile 文件立即生效:source /etc/profile
, 这样就可以正常使用 nginx 命令了!
[root@localhost sbin]# ps -ef | grep nginx
root 1291 1 0 Dec03 ? 00:00:00 nginx: master process ./nginx
nginx 1812 1291 0 Dec03 ? 00:00:00 nginx: worker process
root 2009 1273 0 01:30 pts/0 00:00:00 grep --color=auto nginx
nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。
设为系统服务
vi /etc/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target
保存后执行
systemctl daemon-reload
【重载系统服务配置】
systemctl status nginx
【查看当前nginx服务状态】
systemctl enable nginx
【自启动nginx服务(即开机自启)】
systemctl start|stop|reload nginx
【开始|停止|重载配置】