Linux系统如何配置nginx 带配置到系统中

7 篇文章 0 订阅

Linux系统如何配置nginx

  • 1:安装工具包 wget、vim和gcc
yum install -y wget  
yum install -y vim-enhanced  
yum install -y make cmake gcc gcc-c++  
  • 2:下载nginx安装包
 wget http://nginx.org/download/nginx-1.17.5.tar.gz

 yum install nginx 

 nginx -v (查看nginx版本)

 nginv -V(查看nginx安装路径,配置路径,状态等等)
  • 3:安装依赖包
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
  • 4:解压
tar xvf nginx-1.17.5.tar.gz -C /usr/local/src
  • 5:进入nginx目录进行编译
cd /usr/local/src/nginx-1.17.5/

./configure
  • 6:完成编译
make && make install

mkdir -pv /var/tmp/nginx/client
  • 7: 添加SysV启动脚本
1.创建文件
vim /etc/init.d/nginx

2.按i进入编辑状态
#!/bin/sh 
# 
# nginx - this script starts and stops the nginx daemon 
# 
# chkconfig:   - 85 15 
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
#               proxy and IMAP/POP3 proxy server 
# processname: nginx 
# config:      /etc/nginx/nginx.conf 
# config:      /etc/sysconfig/nginx 
# pidfile:     /var/run/nginx.pid 
# Source function library. 
. /etc/rc.d/init.d/functions
# Source networking configuration. 
. /etc/sysconfig/network
# Check that networking is up. 
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
   [ -x $nginx ] || exit 5
   [ -f $NGINX_CONF_FILE ] || exit 6
   echo -n $"Starting $prog: " 
   daemon $nginx -c $NGINX_CONF_FILE
   retval=$?
   echo 
   [ $retval -eq 0 ] && touch $lockfile
   return $retval
}
stop() {
   echo -n $"Stopping $prog: " 
   killproc $prog -QUIT
   retval=$?
   echo 
   [ $retval -eq 0 ] && rm -f $lockfile
   return $retval
killall -9 nginx
}
restart() {
   configtest || return $?
   stop
   sleep 1
   start
}
reload() {
   configtest || return $?
   echo -n $"Reloading $prog: " 
   killproc $nginx -HUP
RETVAL=$?
   echo 
}
force_reload() {
   restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
   status $prog
}
rh_status_q() {
   rh_status >/dev/null 2>&1
}
case "$1" in
   start)
       rh_status_q && exit 0
   $1
       ;;
   stop)
       rh_status_q || exit 0
       $1
       ;;
   restart|configtest)
       $1
       ;;
   reload)
       rh_status_q || exit 7
       $1
       ;;
   force-reload)
       force_reload
       ;;
   status)
       rh_status
       ;;
   condrestart|try-restart)
       rh_status_q || exit 0
           ;;
   *)
     echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
       exit 2
esac

按esc  输入:wq  保存并退出

8: 赋予脚本执行权限

chmod +x /etc/init.d/nginx

9: 添加至服务管理列表,设置开机自启

chkconfig --add nginx

chkconfig nginx on

10: 启动

service nginx start

11: 查看运行情况

netstat -tnlp

tips: 别忘了服务器的配置80端口打开, 然后访问公网IP查看页面

12: 更多参数帮助可以在nginx目录下执行如下命令查看

./configure --help
配置选项说明
–prefixnginx的安装目录,默认为/usr/local/nginx
–sbin-pathnginx可执行文件路径,若没有设置则依赖于–prefix
–conf-path设置nginx.conf配置文件路径,nginx启动时可以通过-c参数指定配置文件
–error-log-path错误日志路径
–http-log-pathhttp主请求日志文件
–pid-path存放nginx进程的pid号
–lock-path共享存储器互斥锁文件路径
–http-client-body-temp-path客户端收到请求后,临时存放请求体目录
–http-proxy-temp-path使用代理后,通过该项设置存放请求体路径
–http-fastcgi-temp-path设置FastCGI临时文件的目录
–http-uwsgi-temp-path设置uWSGI临时文件的目录
–http-scgi-temp-path设置SCGI临时文件的目录
–user指定nginx运行的用户
–group指定nginx运行的用户组
–with-pcre设置PCRE库的源码路径
–with-http_v2_module用来支持 HTTP 2.0 的
–with-http_ssl_module如果需要对流量进行加密,可以使用该选项,再URLs中开始部分将会是https(需要OpenSSL库)

13: nginx.conf配置

#user  nobody;
worker_processes  1; #工作进程:数目。根据硬件调整,通常等于cpu数量或者2倍cpu数量。

#错误日志存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid; # nginx进程pid存放路径


events {
   worker_connections  1024; # 工作进程的最大连接数量
}


http {
   include       mime.types; #指定mime类型,由mime.type来定义
   default_type  application/octet-stream;

   # 日志格式设置
   #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
   #                  '$status $body_bytes_sent "$http_referer" '
   #                  '"$http_user_agent" "$http_x_forwarded_for"';

   #access_log  logs/access.log  main; #用log_format指令设置日志格式后,需要用access_log来指定日志文件存放路径
   				
   sendfile        on; #指定nginx是否调用sendfile函数来输出文件,对于普通应用,必须设置on。
   		如果用来进行下载等应用磁盘io重负载应用,可设着off,以平衡磁盘与网络io处理速度,降低系统uptime。
   #tcp_nopush     on; #此选项允许或禁止使用socket的TCP_CORK的选项,此选项仅在sendfile的时候使用

   #keepalive_timeout  0;  #keepalive超时时间
   keepalive_timeout  65;

   #gzip  on; #开启gzip压缩服务

   #虚拟主机
   server {
       listen       80;  #配置监听端口号
       server_name  localhost; #配置访问域名,域名可以有多个,用空格隔开

       #charset koi8-r; #字符集设置

       #access_log  logs/host.access.log  main;

       location / {
           root   html;
           index  index.html index.htm;
       }
       #错误跳转页
       #error_page  404              /404.html; 

       # redirect server error pages to the static page /50x.html
       #
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }

       # proxy the PHP scripts to Apache listening on 127.0.0.1:80
       #
       #location ~ \.php$ {
       #    proxy_pass   http://127.0.0.1;
       #}

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
       #
       #location ~ \.php$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
       #    root           html; #根目录
       #    fastcgi_pass   127.0.0.1:9000; #请求转向定义的服务器列表
       #    fastcgi_index  index.php; # 如果请求的Fastcgi_index URI是以 / 结束的, 该指令设置的文件会被附加到URI的后面并保存在变量$fastcig_script_name中
       #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
       #    include        fastcgi_params;
       #}

       # deny access to .htaccess files, if Apache's document root
       # concurs with nginx's one
       #
       #location ~ /\.ht {
       #    deny  all;
       #}
   }


   # another virtual host using mix of IP-, name-, and port-based configuration
   #
   #server {
   #    listen       8000;
   #    listen       somename:8080;
   #    server_name  somename  alias  another.alias;

   #    location / {
   #        root   html;
   #        index  index.html index.htm;
   #    }
   #}


   # HTTPS server
   #
   #server {
   #    listen       443 ssl;  #监听端口
   #    server_name  localhost; #域名

   #    ssl_certificate      cert.pem; #证书位置
   #    ssl_certificate_key  cert.key; #私钥位置

   #    ssl_session_cache    shared:SSL:1m;
   #    ssl_session_timeout  5m; 

   #    ssl_ciphers  HIGH:!aNULL:!MD5; #密码加密方式
   #    ssl_prefer_server_ciphers  on; # ssl_prefer_server_ciphers  on; #


   #    location / {
   #        root   html;
   #        index  index.html index.htm;
   #    }
   #}

}

如何查看nginx版本

nginx -v

如何查看nginx的配置路径

nginx -V

 查看启动命令所在目录


whereis nginx 

如何启动和重启nginx(因为之前配置到了系统服务,所有可以使用linux的操作,否则是不可以这么操作的,只能到nginx的sbin目录下操作)

启动: service nginx start
重启: service nginx restart
关闭: service nginx stop

检查一下nginx配置文件是否可用,有successful表示可用。

nginx -t // 检查nginx配置文件

配置正确后,重新加载配置文件使配置生效:

nginx -s reload // 使配置生效

访问效果

输入http:bjubi.com也会自动跳转至https页面。

说明:如果是云服务器比如阿里云ECS,需要到阿里云ECS的管理后台的安全组,修改端口过滤规则把80端口和443端口开放才能访问到。

如果没用配置nginx的服务,如何去进行操作nginx

安装完成一般常用命令

ps -ef|grep nginx   查看nginx运行状态

 进入安装目录中,

 命令: cd /usr/local/nginx/sbin

 启动,关闭,重启,命令:

 ./nginx 启动

 ./nginx -s stop 关闭

 ./nginx -s reload 重启
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值