CentOS7.3编译安装Nginx1.10.1
2017-06-16 21:33
351 查看
编译环境安装
下载安装文件并解压
创建用户和目录
编译nginx-1101
Nginx安装详情
编辑服务脚本文件
配置nginx启动脚本
启动nginx服务器
启动服务状态
修改nginx配置文件
CentOS7添加开放80TCP端口
ea63
/pre>
下载安装文件并解压
创建用户和目录
编译nginx-1101
Nginx安装详情
编辑服务脚本文件
配置nginx启动脚本
启动nginx服务器
启动服务状态
修改nginx配置文件
CentOS7添加开放80TCP端口
编译环境安装
[root@localhost ~]# yum -y install gcc [root@localhost ~]# yum -y install gcc++ [root@localhost ~]# yum -y install gcc-c++ [root@localhost ~]# yum -y install wget
下载安装文件并解压
> 创建文件夹并进入 [root@localhost ~]# mkdir soft && cd soft > 下载依赖文件pcre,openssl,zlib [root@localhost ~]# wget -c https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz [root@localhost ~]# wget -c https://www.openssl.org/source/openssl-1.0.2l.tar.gz [root@localhost ~]# wget -c http://zlib.net/zlib-1.2.11.tar.gz > 下载nginx [root@localhost ~]# wget -c http://nginx.org/download/nginx-1.10.1.tar.gz > 解压文件 [root@localhost ~]# tar -zxvf pcre-8.40.tar.gz [root@localhost ~]# tar -zxvf openssl-1.0.2l.tar.gz [root@localhost ~]# tar -zxvf zlib-1.2.11.tar.gz [root@localhost ~]# tar -zxvf nginx-1.10.1.tar.gz
创建用户和目录
> 新建系统用户组 [root@localhost ~]# groupadd -r nginx > 新建系统账号nginx [root@localhost ~]# useradd -r -g nginx -s /sbin/nologin -d /usr/local/nginx -M nginx > 新建nginx需要的目录 [root@localhost ~]# mkdir -p /var/tmp/nginx/{client_body,proxy,fastcgi,uwsgi,scgi} > 递归改变目录所有者 [root@localhost ~]# chown -R nginx /var/tmp/nginx
编译nginx-1.10.1
[root@localhost ~]# cd ~/soft/nginx-1.10.1 ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre=../pcre-8.40 \ --with-zlib=../zlib-1.2.11 \ --with-openssl=../openssl-1.0.2l \ --with-debug \ --http-client-body-temp-path=/var/tmp/nginx/client_body \ --http-proxy-temp-path=/var/tmp/nginx/proxy \ --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ --http-scgi-temp-path=/var/tmp/nginx/scgi \ --with-stream [root@localhost ~]# make && make install
Nginx安装详情
Configuration summary + using PCRE library: ../pcre-8.40 + using OpenSSL library: ../openssl-1.0.2l + md5: using OpenSSL library + sha1: using OpenSSL library + using zlib library: ../zlib-1.2.11 nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/etc/nginx" nginx configuration file: "/etc/nginx/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/tmp/nginx/client_body" nginx http proxy temporary files: "/var/tmp/nginx/proxy" nginx http fastcgi temporary files: "/var/tmp/nginx/fastcgi" nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi" nginx http scgi temporary files: "/var/tmp/nginx/scgi"
编辑服务脚本文件
> 创建文件并打开服务脚本文件 [root@localhost ~]# vim /etc/init.d/nginx > 编写脚本文件 #! /bin/bash # # 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 # 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/nginx.lock 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 } 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<
ea63
/pre>
配置nginx启动脚本
> 改变文件权限 [root@localhost ~]# chmod +x /etc/init.d/nginx > 添加到系统服务 [root@localhost ~]# chkconfig --add nginx > 设置系统为开机启动 [root@localhost ~]# chkconfig nginx on启动nginx服务器
[root@localhost ~]# systemctl start nginx启动服务状态
[root@localhost soft]# systemctl status nginx.service ● nginx.service - SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled) Active: active (running) since Tue 2017-06-13 11:47:44 EDT; 22s ago Docs: man:systemd-sysv-generator(8) Process: 40801 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=0/SUCCESS) Main PID: 40808 (nginx) Memory: 1.0M CGroup: /system.slice/nginx.service ├─40808 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf └─40809 nginx: worker process Jun 13 11:47:43 localhost.localdomain systemd[1]: Starting SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server... Jun 13 11:47:44 localhost.localdomain nginx[40801]: Starting nginx: [ OK ] Jun 13 11:47:44 localhost.localdomain systemd[1]: Started SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server.修改nginx配置文件
# 运行用户 #user nobody; # 启动进程, 通常设置成和cpu的数据相等 worker_processes 1; # 全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; # 工作模式及连接数上限 events { use epoll; 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; tcp_nodelay on; gzip on; gzip_disable "MSIE [1-6]"; client_header_buffer_size 128k; large_client_header_buffers 4 128k; server { listen 80; server_name www.nginx.dev; #charset koi8-r; access_log logs/nginx.dev.access.log main; location / { root /data/www/html; index index.php 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 /data/www/html; } location ~ ^/(images|javascript|js|css|flash|media|static)/ { expires 30d; } # 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$ { # root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$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; # location / { # root html; # index index.html index.htm; # } #} }
注意不要忘记在/usr/local/nginx/创建logs目录[root@localhost nginx-1.10.1]# mkdir -pv /usr/local/nginx/logs/CentOS7添加开放80TCP端口
> 加入开放端口到配置文件 [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent --zone=public 添加时区 --add-port=80/tcp 添加端口 --permanent 永久生效 > 加载防火墙新配置文件( 以 root 身份输入以下命令,重新加载防火墙,并不中断用户连接,即不丢失状态信息. ) [root@localhost ~]# firewall-cmd --reload
相关文章推荐
- Linux(CentOS6.5)下编译安装Nginx1.10.1
- CentOS 7 安装 Nginx 1.10.1.tar.gz
- CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11
- CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26运行环境
- Linux(CentOS6.5)下编译安装Nginx1.10.1
- CentOS7.0 安装 Nginx1.10.1 tar.gz方式
- centos6.5_x86_64 下 nginx 1.10.1、php7 安装记录
- Linux(CentOS6.5)下编译安装Nginx1.10.1
- centos5.5安装nginx0.8.54,mysql5.5.8,php5.3.4
- CentOS上yum安装nginx+mysql+php+php-fastcgi [经本人整理后亲自测试]
- centos5.5安装nginx0.8.54,mysql5.5.8,php5.3.4
- 1分钟完美安装 CentOS + Nginx + PHP-FPM + MySQL
- 三、CentOS下安装nginx、php和mysql
- 详解 CentOS 安装配置 Nginx 0.8.33+PHP 5.3.1+php-fpm+MySQL 全过程【转】
- 在CentOs 5.1中使用rpm安装NGINX+php+mysql(一)
- Centos 5.5 Nginx+php+mysql成功安装案例
- Centos 5.5 Nginx+php+mysql成功安装案例
- CentOS5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装wordpress
- CentOS 5.5一键安装nginx+mysql+php 推荐
- centos nginx基本安装配置