centos7源码安装nginx-1.16.1(脚本)
#!/bin/bash #2020年11月18日 12:50:15 #auto install nginx web #by author ################################### # yum安装包 yum install -y wget net-tools gzip make tar gcc yum install -y pcre pcre-devel zlib-devel firewalld # wget获取安装包,-c 断点续传 wget -c http://nginx.org/download/nginx-1.16.1.tar.gz # tar解压,-x extract解压 z gzip格式 -v verbose详细 -f file文件 tar -zvxf nginx-1.16.1.tar.gz cd nginx-1.16.1/ # 创建用户,不登录, -M不创建家目录(安全) # 新建用户组 www(所有的网站相关的用户,统一放到 www 用户组) groupadd www # 新建用户 # 创建用户,不登录, -M不创建家目录(安全) useradd -M -s /sbin/nologin nginxuser useradd user_nginx_www -g www -s /usr/sbin/nologin useradd user_ftp_www -g www # 预编译 #./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module ./configure --user=user_nginx_www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-ipv6 # 编译&&安装 make -j 2&& make install # 创建指定的ngxin工作目录 mkdir -p /usr/local/nginx/wwwroot/www.tests.com chmod +w /usr/local/nginx/wwwroot/www.tests.com # 修改权限 赋予nginx用户操作该目录的权限 chown -R user_nginx_www:www /usr/local/nginx/wwwroot/www.tests.com # 启动 这里需要确定最终安装的目录 /usr/local/nginx/sbin/nginx # 暂时关闭selinux #setenforce 0 # 关闭防火墙 #systemctl stop firewalld.service # 开放80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent #firewall-cmd --zone=public --add-port=39001/tcp --permanent # 修改后的防火墙规则生效 firewall-cmd --reload # 查看进程 ps -ef|grep nginx # 查看进程端口 netstat -nltp |grep 80
vim 编辑为一个nginx_installs.sh文件,然后sh nginx_installs.sh文件执行即可
设置nginx的环境变量
//设置所有用户的环境变量 vim /etc/profile //添加设置nginx的可执行目录 export PATH=$PATH:/usr/local/nginx/sbin //环境变量设置生效 source /etc/profile
配置自启动
在/etc/rc.d/init.d/下面增加一个脚本,名称 nginx,脚本内容如下
在命令行上执行 vim /etc/rc.d/init.d/nginx
脚本内容
#! /bin/bash # chkconfig: 35 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="nginx daemon" NAME=nginx DAEMON=/usr/local/nginx/sbin/$NAME SCRIPTNAME=/etc/init.d/$NAME test -x $DAEMON || exit 0 d_start(){ $DAEMON || echo -n " already running" } d_stop() { $DAEMON -s quit || echo -n " not running" } d_reload() { $DAEMON -s reload || echo -n " counld not reload" } case "$1" in start) echo -n "Starting $DESC:$NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC:$NAME" d_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." d_reload echo "reloaded." ;; restart) echo -n "Restarting $DESC: $NAME" d_stop sleep 2 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 ;; esac exit 0
加入服务并开机自启动
chmod +x /etc/rc.d/init.d/nginx (设置可执行权限)
chkconfig --add nginx (添加系统服务)
chkconfig --level 35 nginx on (开机自启动)
systemctl start nginx
1、启动 service nginx start
2、停止 service nginx stop
3、重启 service nginx restart
4、重载配置 service nginx reload
Welcome to nginx!
修改nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf
user user_nginx_www www; #替换为我们的安装脚本中赋予的用户 #user nobody; worker_processes 2; include /usr/local/nginx/user_conf/*.conf; #引入我们自定义的conf配置文件
检查配置文件nginx.conf的正确性命令:nginx -t