您的位置:首页 > 运维架构 > Nginx

ubuntu环境下nginx源码编译安装

2020-02-01 14:29 471 查看

1、更新系统

sudo apt-get update && sudo apt-get upgrade

2、安装nginx的依赖包  zlib pcre openssl(可以源码安装也可以直接系统安装)

sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential

3、下载openssl源码包

wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz

sudo tar -zxvf openssl-1.0.2a.tar.gz -C /usr/local/src/

cd /usr/local/src/openssl-1.0.2a/

sudo ./config

sudo make && sudo make install

4、下载nginx源码包

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

sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/

cd /usr/local/src/nginx-1.8.0

sudo ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl

sudo make && sudo make install 

5、配置nginx 开机服务。

默认这么安装好以后每次检查配置、重启之类的操作略麻烦,所以我们模仿 Ubuntu 14.04 官方源,给系统设置个 nginx 服务,方便我们检查配置、启动重启关闭 Nginx 以及开机自动启动 Nginx

sudo vim /etc/init.d/nginx

插入如下内容:

1 #!/bin/sh
2
3 ### BEGIN INIT INFO
4 # Provides:          nginx
5 # Required-Start:    $local_fs $remote_fs $network $syslog
6 # Required-Stop:     $local_fs $remote_fs $network $syslog
7 # Default-Start:     2 3 4 5
8 # Default-Stop:      0 1 6
9 # Short-Description: starts the nginx web server
10 # Description:       starts nginx using start-stop-daemon
11 ### END INIT INFO
12
13 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
14 DAEMON=/usr/sbin/nginx
15 NAME=nginx
16 DESC=nginx
17
18 # Include nginx defaults if available
19 if [ -f /etc/default/nginx ]; then
20    . /etc/default/nginx
21 fi
22
23 test -x $DAEMON || exit 0
24
25 set -e
26
27 . /lib/lsb/init-functions
28
29 test_nginx_config() {
30    if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1; then
31       return 0
32    else
33       $DAEMON -t $DAEMON_OPTS
34       return $?
35    fi
36 }
37
38 case "$1" in
39    start)
40       echo -n "Starting $DESC: "
41       test_nginx_config
42       # Check if the ULIMIT is set in /etc/default/nginx
43       if [ -n "$ULIMIT" ]; then
44          # Set the ulimits
45          ulimit $ULIMIT
46       fi
47       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
48           --exec $DAEMON -- $DAEMON_OPTS || true
49       echo "$NAME."
50       ;;
51
52    stop)
53       echo -n "Stopping $DESC: "
54       start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
55           --exec $DAEMON || true
56       echo "$NAME."
57       ;;
58
59    restart|force-reload)
60       echo -n "Restarting $DESC: "
61       start-stop-daemon --stop --quiet --pidfile \
62           /var/run/$NAME.pid --exec $DAEMON || true
63       sleep 1
64       test_nginx_config
65       # Check if the ULIMIT is set in /etc/default/nginx
66       if [ -n "$ULIMIT" ]; then
67          # Set the ulimits
68          ulimit $ULIMIT
69       fi
70       start-stop-daemon --start --quiet --pidfile \
71           /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
72       echo "$NAME."
73       ;;
74
75    reload)
76       echo -n "Reloading $DESC configuration: "
77       test_nginx_config
78       start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
79           --exec $DAEMON || true
80       echo "$NAME."
81       ;;
82
83    configtest|testconfig)
84       echo -n "Testing $DESC configuration: "
85       if test_nginx_config; then
86          echo "$NAME."
87       else
88          exit $?
89       fi
90       ;;
91
92    status)
93       status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
94       ;;
95    *)
96       echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
97       exit 1
98       ;;
99 esac
100
101 exit 0

注意要设置好nginx的启动路径  DAEMON=/usr/sbin/nginx 

6、设置文件权限并增加到系统服务

sudo chmod +x ./nginx
sudo update-rc.d nginx defaults

7、启动nginx

sudo /etc/init.d/nginx

转载于:https://www.cnblogs.com/chrisDuan/p/4499731.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
aqmqb86046 发布了0 篇原创文章 · 获赞 0 · 访问量 140 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: