Home > Article > Operation and Maintenance > How to install and configure nginx under Linux
1. Install and configure nginx under Linux
When installing nginx for the first time, any problems that arise in the process will be solved step by step.
The tool securecrt is used to connect and log in to the server.
1.1 rz command, a dialog box will pop up, select the nginx compressed package to be uploaded.
#rz
1.2 Unzip
[root@vw010001135067 ~]# cd /usr/local/ [root@vw010001135067 local]# tar -zvxf nginx-1.10.2.tar.gz
1.3 Enter the nginx folder and execute the ./configure command
[root@vw010001135067 local]# cd nginx-1.10.2 [root@vw010001135067 nginx-1.10.2]# ./configure
The error is reported as follows:
checking for os + linux 2.6.32-431.el6.x86_64 x86_64 checking for c compiler ... not found ./configure: error: c compiler cc is not found
This error occurs. Then the gcc package is not installed.
1.3.1 Install gcc
View gcc
[root@vw010001135067 nginx-1.10.2]# whereis gcc gcc:
Install gcc
[root@vw010001135067 nginx-1.10.2]# yum -y install gcc
Check again after successful installation
[root@vw010001135067 nginx-1.10.2]# whereis gcc gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz
gcc is installed .
1.3.2 Continue executing ./configure
[root@vw010001135067 nginx-1.10.2]# ./configure checking for os + linux 2.6.32-431.el6.x86_64 x86_64 checking for c compiler ... found ...... checking for pcre library ... not found checking for pcre library in /usr/local/ ... not found checking for pcre library in /usr/include/pcre/ ... not found checking for pcre library in /usr/pkg/ ... not found checking for pcre library in /opt/local/ ... not found ./configure: error: the http rewrite module requires the pcre library. you can either disable the module by using --without-http_rewrite_module option, or install the pcre library into the system, or build the pcre library statically from the source with nginx by using --with-pcre=<path> option.
The above error occurs. Install pcre-devel
[root@vw010001135067 nginx-1.10.2]# yum install pcre-devel
1.3.3 Execute ./configure again
error: the http gzip module requires the zlib library. you can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.
If there is this error, then execute it
yum install zlib-devel
1.3.4 No error is reported after executing ./configure
[root@vw010001135067 nginx-1.10.2]# ./configure checking for os + linux 2.6.32-431.el6.x86_64 x86_64 checking for c compiler ... found + using gnu c compiler + gcc version: 4.4.7 20120313 (red hat 4.4.7-17) (gcc) ....... configuration summary + using system pcre library + openssl library is not used + md5: using system crypto library + sha1: using system crypto library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
1.4 If you want to use openssl function, sha1 function. Then install openssl, sha1
[root@vw010001135067 nginx-1.10.2]# yum install openssl openssl-devel [root@vw010001135067 nginx-1.10.2]# install perl-digest-sha1.x86_64
1.4.1 Enable the ssl module and execute ./configure –with-http_ssl_module
[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_ssl_module
1.4.2 Enable the “server status” page and execute ./configure –with -http_stub_status_module
[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module
You can start the above two commands at the same time
Copy the code The code is as follows:
[root@vw010001135067 nginx-1.10.2]# ./configure --with-http_stub_status_module --with-http_ssl_module
1.5 The above configure passed
Execute the make command, execute the make install command
[root@vw010001135067 nginx-1.10.2]# make [root@vw010001135067 nginx-1.10.2]# make install
At this point, nginx executes Success
1.6 Configure environment variables
Add configuration to /etc/profile
Open configuration file
[root@vw010001135067 nginx-1.10.2]# vi /etc/profile
Add to configuration file
#nginx configure export nginx_home=/usr/local/nginx-1.10.2 export path=$path:$nginx_home/sbin
I started to fill it in as above, but it couldn’t be found when using nginx -v. Noticed that the address of my nginx_home configuration above is wrong. First find the installation address of nginx
[root@vw010001135067 nginx-1.10.2]# whereis nginx nginx: /usr/local/nginx
It’s really the wrong address. Change the above to
#nginx configure export nginx_home=/usr/local/nginx export path=$path:$nginx_home/sbin
After compiling, save and exit and execute
[root@vw010001135067 nginx-1.10.2]# source /etc/profile
to make the configuration effective.
1.7 Check nginx version
[root@vw010001135067 nginx]# nginx -v nginx version: nginx/1.10.2
The whole process was successful!
2. Modify nginx.conf
2.1 Start nginx
My nginx service is at http://10.1.135.67/, after the configuration is successful , now start nginx
[root@vw010001135067 nginx]# cd /usr/local/nginx [root@vw010001135067 nginx]# nginx -c conf/nginx.conf
The startup is successful, open http://10.1.135.67/ in the browser, the default port number is 80.
As shown above, nginx is already working normally.
2.2 Configure tomcat service
Now my tomcat service is at 10.1.29.15 and needs to be forwarded through nginx. Then open nginx.conf and modify the configuration file. As follows, add:
#user nobody; worker_processes 1; #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;#最大连接数,默认为512 accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off #use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport } http { #文件扩展名与文件类型映射表 include mime.types; #默认文件类型,默认为text/plain 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"'; #combined为日志格式的默认值 access_log logs/access.log main; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块 sendfile on; sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。 #tcp_nopush on; #连接超时时间,默认为75s,可以在http,server,location块。 keepalive_timeout 65; #gzip on; upstream upload { server 10.1.29.15:8080; } error_page 404 https://www.baidu.com; #错误页 server { keepalive_requests 120; #单连接请求上限次数。 listen 80; #监听端口 server_name localhost; #监听地址 #charset koi8-r; #access_log logs/host.access.log main; location ~ ^.*?/upload/[^/]*?$ { proxy_connect_timeout 15; proxy_send_timeout 15; proxy_read_timeout 15; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header connection ""; proxy_pass http://upload; #请求转向upload 定义的服务器列表 client_max_body_size 1024m; } } }
After configuration, save the configuration file and restart nginx
[root@vw010001135067 nginx]# nginx -s reload
Whether the upload project is called successfully in the browser
As shown in the figure, the project can be accessed correctly and the configuration is successful!
The above is the detailed content of How to install and configure nginx under Linux. For more information, please follow other related articles on the PHP Chinese website!