Centos7下安装Nginx
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_header 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;
}
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
