• Linux部署Nginx并实现网络代理


    一、Nginx的安装

    1.1、Nginx的安装

    Nginx安装包下载地址:nginx: download

    配置Nginx的安装源

    1. //一键安装四个依赖
    2. yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

    1.2、下载并解压安装包 

    官网查看nginx的版本号,根据需要通过修改命令下载最新的或自己需要的版本,例如:

    wget http://nginx.org/download/nginx-1.23.1.tar.gz

    1. //创建一个文件夹
    2. cd /usr/local
    3. mkdir nginx
    4. cd nginx
    5. //下载tar包
    6. wget http://nginx.org/download/nginx-1.23.1.tar.gz
    7. tar -xvf nginx-1.23.1.tar.gz

    1.3、安装nginx

    1. //进入nginx目录
    2. cd /usr/local/nginx/nginx-1.23.1
    3. //执行命令 考虑到后续安装ssl证书 添加两个模块
    4. ./configure --with-http_stub_status_module --with-http_ssl_module
    5. //执行make命令
    6. make && make install

     1.4、启动nginx服务

    1. cd /usr/local/nginx/sbin
    2. 启动:./nginx 或者 ./nginx -c /usr/local/nginx/conf/nginx.conf
    3. 停止:./nginx -s stop或者./nginx -s quit 或者 ps -ef|grep nginx
    4. 查到pid ,kill -QUIT pid 或者kill -TERM pid
    5. 重启:./nginx -s reload

    1.5、配置nginx.conf

    可以通过Vi命令修改,也可以通过xftp下载本地使用notepad++修改使用

    vi /usr/local/nginx/conf/nginx.conf

    端口号改成9092(随便挑个端口),将localhost修改为服务器的公网ip地址。

     1.6、访问验证

    访问地址  http://192.168.6.77:9092/

    至此,linux安装完毕

    1.7、 配置网络代理:

            由于目标服务器IP访问限制,只允许局域网内部指定服务器访问,其他服务器无法直接访问,此时,可以在指定服务器部署nginx,配置网络代理,以实现局域网其他服务器通过访问指定服务器,间接访问目标服务器(10.10.8.200)

    1. # 将http://10.10.8.200:81映射到本地9091端口
    2. server {
    3. listen 9091;
    4. server_name localhost;
    5. #charset koi8-r;
    6. #access_log logs/host.access.log main;
    7. location / {
    8. root html;
    9. index index.html index.htm;
    10. proxy_pass http://10.10.8.200:81;
    11. }
    12. }

    1.8、 重启

    1. #进入安装目录
    2. cd /usr/local/nginx/sbin
    3. ./nginx -s reload

    查看nginx进程是否启动:

    ps -ef | grep nginx

    1.9、  设置开机启动

    vi /etc/init.d/nginx
    1. #! /bin/bash
    2. # chkconfig: - 85 15
    3. PATH=/usr/local/nginx
    4. DESC="nginx daemon"
    5. NAME=nginx
    6. DAEMON=$PATH/sbin/$NAME
    7. CONFIGFILE=$PATH/conf/$NAME.conf
    8. PIDFILE=$PATH/logs/$NAME.pid
    9. SCRIPTNAME=/etc/init.d/$NAME
    10. set -e
    11. [ -x "$DAEMON" ] || exit 0
    12. do_start() {
    13. $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
    14. }
    15. do_stop() {
    16. $DAEMON -s stop || echo -n "nginx not running"
    17. }
    18. do_reload() {
    19. $DAEMON -s reload || echo -n "nginx can't reload"
    20. }
    21. case "$1" in
    22. start)
    23. echo -n "Starting $DESC: $NAME"
    24. do_start
    25. echo "."
    26. ;;
    27. stop)
    28. echo -n "Stopping $DESC: $NAME"
    29. do_stop
    30. echo "."
    31. ;;
    32. reload|graceful)
    33. echo -n "Reloading $DESC configuration..."
    34. do_reload
    35. echo "."
    36. ;;
    37. restart)
    38. echo -n "Restarting $DESC: $NAME"
    39. do_stop
    40. do_start
    41. echo "."
    42. ;;
    43. *)
    44. echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
    45. exit 3
    46. ;;
    47. esac
    48. exit 0

    将上方脚本代码cp到vi的nginx文件中,修改其中的PATH路径改为自己的安装路径。然后授权

    chmod a+x /etc/init.d/nginx
    1. /etc/init.d/nginx start
    2. /etc/init.d/nginx stop
    3. chkconfig --add /etc/init.d/nginx
    4. service nginx start
    5. service nginx stop
    6. chkconfig nginx on
    7. chkconfig nginx off

    LINUX安装nginx详细步骤_大蛇王的博客-CSDN博客_linux 安装nginx

  • 相关阅读:
    微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(四):消息队列MQ
    人工神经网络的典型模型,2020最新神经网络模型
    「C++: Eigen」第二章 第一节 Linear algebra and decompositions
    无胁科技-TVD每日漏洞情报-2022-7-30
    【每日练习】倒置字符串
    Spring之事务管理
    MybatisX插件使用
    详细了解JVM运行时内存
    Mysql里的字段和约束
    SpringBoot Actuator监控组件笔记
  • 原文地址:https://blog.csdn.net/qq_20957669/article/details/126500222