Centos7下安装Nginx
2017-05-08 11:36
411 查看
1.环境安装
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.编译安装
需要创建/var/temp/nginx及/usr/local/nginx两个目录,程序会被安装在/opt/nginx目录下mkdir -p /var/temp/nginx
mkdir -p /usr/local/nginx
tar -zxvf nginx-1.11.6.tar.gz
cd nginx-1.11.6
./configure \ --prefix=/opt/nginx \ --pid-path=/usr/local/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \ --with-stream
make
make install
3.配置成服务并且设置为开机自启动
vim /etc/init.d/nginx#注意:修改PATH和NAME字段, 匹配自己的安装路径
#! /bin/bash # chkconfig: - 85 15 PATH=/opt/nginx DESC="nginx daemon" NAME=nginx DAEMON=$PATH/sbin/$NAME CONFIGFILE=$PATH/conf/$NAME.conf PIDFILE=/usr/local/nginx/nginx.pid SCRIPTNAME=/etc/init.d/$NAME set -e [ -x "$DAEMON" ] || exit 0 do_start() { $DAEMON -c $CONFIGFILE || echo -n "nginx already running" } do_stop() { $DAEMON -s stop || echo -n "nginx not running" } do_reload() { $DAEMON -s reload || echo -n "nginx can't reload" } case "$1" in start) echo -n "Starting $DESC: $NAME" do_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" do_stop echo "." ;; reload|graceful) echo -n "Reloading $DESC configuration..." do_reload echo "." ;; restart) echo -n "Restarting $DESC: $NAME" do_stop do_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2 exit 3 ;; esac exit 0
设置执行权限
chmod a+x /etc/init.d/nginx
注册成服务
chkconfig --add nginx
设置开机启动
chkconfig nginx on
启动/停止/重启
systemctl start nginx.service #启动nginx服务 systemctl stop nginx.service #停止nginx服务 systemctl restart nginx.service #重启nginx服务 systemctl reload nginx.service #重新读取nginx配置(不用停止nginx服务就能使修改的配置生效)
4.配置参考
user nginx; worker_processes 4; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; 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; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #隐藏版本号 server_tokens off; proxy_intercept_errors on; proxy_set_hea 4000 der Host $host; proxy_set_header Remote_Addr $remote_addr; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; gzip on; server { listen 80; server_name manager.abc.it; if ($host != 'manager.abc.it') { return 403; } location / { proxy_pass http://manager; } error_page 502 /502.html; location = /502.html { root html; } location ~ ^/favicon\.ico$ { root /usr/tomcat/manager/ROOT; } #使用 ~* 代表忽略大小写 location ~* .*\.(htm|html|ico|gif|bmp|jpg|jpeg|png|mp3|mid|wma|mp4|swf|flv|rar|zip|txt|doc|ppt|xls|pdf|css)$ { root /usr/dianzan/topic/htdoc; #expires 30d; #过期时间为30天 } } server { listen 80; server_name pay.abc.it; location / { proxy_pass http://pay; } location ~ ^/favicon\.ico$ { root /usr/tomcat/manager/ROOT; } } server { listen 80; server_name upload.abc.it; location / { proxy_pass http://upload; } location ~ ^/favicon\.ico$ { root /usr/tomcat/manager/ROOT; } location ~ ^/upload/ { root /usr; } } server { listen 80; server_name dubbo.abc.it; location / { proxy_pass http://dubbo; } location ~ ^/favicon\.ico$ { root /usr/tomcat/manager/ROOT; } } server { listen 80; server_name wxserver.abc.it; location / { proxy_pass http://wxserver; } location ~ ^/favicon\.ico$ { root /usr/tomcat/manager/ROOT; } } upstream manager{ server 127.0.0.1:8080; } upstream pay { server 127.0.0.1:8081; } upstream upload { server 127.0.0.1:8082; } upstream dubbo { server 127.0.0.1:8083; } upstream wxserver { server 127.0.0.1:8084; } } #tcp代理,通过nginx访问内网mysql stream { upstream mysql { server 192.168.11.121:3306 max_fails=3 fail_timeout=30s; } server { listen 13306; proxy_timeout 3s; proxy_pass mysql; } }
相关文章推荐
- Centos7安装nginx
- Centos7安装Nginx最新版本
- CentOS7编译安装Nginx
- Nginx工作记录(1)——Centos7安装Nginx1.12.2
- Centos7 Nginx安装
- centos7 nginx安装
- centos7安装nginx必要环境
- centos7编译安装nginx及无缝升级https
- CentOS7安装Nginx1.11
- Centos7系统中安装Nginx1.8.0
- CentOS7使用yum安装nginx php php-fpm mariadb phpmyadmin
- CentOS7配置nginx php php-fpm mariadb phpmyadmin(yum安装)
- Centos7 nginx安装并负载均衡WCF/Web以及负载策略配置
- CentOS7 YUM 安装NGINX
- CentOS7安装Nginx-1.9.9+PHP5.6
- centos7安装nginx
- centos7安装nginx和php
- centos7安装nginx+mariadb+php-fpm
- CentOS7下安装Nginx及配置SSL证书
- VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法