晓波的站站

争做优秀原创个人博客。

nginx编译安装,创建开机启动。

好久没有写了,前段时间主机到期从阿里云把服务迁移到百度了,结过网站监控几乎每天都有不能访问的。暂时先不管了。毕竟本人穷啊。
写个nginx编译安装吧,版本大家自己定义。流程都是一样的,网络教程一抓都是一大把。我都是拿来没事干写的。
先下载编译安装包,然后yum安装一下相关的依赖:
wget http://nginx.org/download/nginx-1.12.2.tar.gz
yum install -y gcc gcc-c++ zlib zlib-devel make libtool openssl-devel pcre-devel pcre
解压二进制包,然后检查配置。
./configure --help      #这个可以查看配置选项。
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module  --with-http_stub_status_module --with-http_gzip_static_module --with-http_rewrite_module        #这里的模块可以自定义添加
echo $?     #查看上个命令返回值,为0就没有错误。

完成后需要编译安装:
make  && make install
安装没问题的话,需要创建软连接到相关目录,以便系统可以直接用命令不需要加绝对路径。当然也可用环境变量解决。
ls -al /usr/local/nginx/sbin/
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
接下来最关键一步了,就是创建nginx的开机自启、启停的文件。
vim /etc/init.d/nginxd
添加如下:
#!/bin/sh
#
# chkconfig: 35 80 20
# description: nginx Servlet Container
# xiaobo Created in 2018-6-25
#
# match these values to your environment:

# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog="nginx"
NGINX=/usr/local/nginx  #你的nginx安装目录

start() {

     $NGINX/sbin/nginx
     echo $"Starting $prog: "
     return $RETVAL
  }

stop() {

     $NGINX/sbin/nginx -s stop
     echo $"Stopping $prog: "
  }

# See how we were called.
case "$1" in
    start)
       start
       ;;
     stop)
      stop
       ;;
     status)
       status $prog
       RETVAL=$?
       ;;
     restart)
       stop
       start
       ;;
      *)
echo "nginx service is;Usage: $0 {start|stop|restart}"
       ;;
esac
exit $RETVAL
完成后再vim界面输入:x或者:wq!保存退出。接着赋予可执行权限。加入开启启动。
chmod 755 /etc/init.d/nginxd
chkconfig nginxd --add
chkconfig nginxd on
chkconfig --list

启动nginx服务
systemctl start nginxd
systemctl status nginxd

这个时候就安装完成了,访问你本机的IP地址就行了。或者使用curl也行,可以使用curl获取头部信息。显示http 200 OK就没有问题。
curl -I 127.0.0.1
安装完成后可以更改nginx的安全相关的配置:
vim /etc/local/nginx/conf/nginx.conf
#在http { 开头的地方添加如下规则:
server_tokens off; #关闭版本显示。
include /usr/local/nginx/conf.d/*.conf;     #加载配置文件
user nginx; #使用用户
worker_processes auto;  #进程数量
error_log /var/log/nginx/error.log; #错误日志存放位置。

本文由 xiaobo 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

评论已关闭