• Categories
    Category
  • Categories
    Category
  • News
  • Tutorials
  • Forums
  • Tags
  • Users
Tutorial Comments FAQ Related Articles

How to Install Nginx web server in Solaris

910

To install Nginx in Solaris 11

NGINX is an open-source, high-performance HTTP server and reverse proxy server. It is stable and has a rich feature set with simple configuration. Nginx doesn' t depend on threads to handle requests, as it uses a scalable event- driven architecture instead. This architecture utilizes small yet predictable amount of memory under load.


To install dependency packages

It is essential to install certain packages before the installation of Nginx. First install the GCC package by using the following command.

root@linuxhelp:~# pkg install gcc-45
           Packages to install:  9
           Mediators to change:  1
            Services to change:  1
       Create boot environment: No
Create backup boot environment: No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                9/9     2833/2833  116.3/116.3  297k/s

PHASE                                          ITEMS
Installing new actions                     3246/3246
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           1/1

Now add the sfe repository to your solaris machine with the help of the following command

root@linuxhelp:~# pkg set-publisher -p http://pkg.openindiana.org/sfe

pkg set-publisher:
  Added publisher(s): sfe

Use the recently added sfe repository to install the dependency packages.

root@linuxhelp:~# pkg install sfe/developer/gcc
           Packages to install: 11
       Create boot environment: No
Create backup boot environment: No

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                              11/11     1108/1108    31.9/31.9  399k/s

PHASE                                          ITEMS
Installing new actions                     1510/1510
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           2/2


To Install NGINX

After installing the dependency packages, use the following command to download Nginx package.

root@linuxhelp:~# wget http://nginx.org/download/nginx-1.4.3.tar.gz
--2016-10-17 16:03:16--  http://nginx.org/download/nginx-1.4.3.tar.gz
Resolving nginx.org (nginx.org)... 206.251.255.63, 95.211.80.227, 2001:1af8:4060:a004:21::e3, ...
Connecting to nginx.org (nginx.org)|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 767971 (750K) [application/octet-stream]
Saving to: ‘ nginx-1.4.3.tar.gz’ 

nginx-1.4.3.tar.gz              100%[======================================================> ] 749.97K  68.3KB/s   in 17s    

2016-10-17 16:03:34 (44.5 KB/s) - ‘ nginx-1.4.3.tar.gz’  saved [767971/767971]

After downloading the NGINX package, extract it by triggering following command.

root@linuxhelp:~# tar xvzpf nginx-1.4.3.tar.gz
x nginx-1.4.3, 0 bytes, 0 tape blocks
x nginx-1.4.3/auto, 0 bytes, 0 tape blocks
x nginx-1.4.3/conf, 0 bytes, 0 tape blocks
x nginx-1.4.3/contrib, 0 bytes, 0 tape blocks
x nginx-1.4.3/src, 0 bytes, 0 tape blocks
x nginx-1.4.3/configure, 2369 bytes, 5 tape blocks
x nginx-1.4.3/LICENSE, 1397 bytes, 3 tape blocks
x nginx-1.4.3/README, 49 bytes, 1 tape blocks
x nginx-1.4.3/html, 0 bytes, 0 tape blocks
x nginx-1.4.3/man, 0 bytes, 0 tape blocks
x nginx-1.4.3/CHANGES.ru, 339761 bytes, 664 tape blocks
x nginx-1.4.3/CHANGES, 223077 bytes, 436 tape blocks
x nginx-1.4.3/man/nginx.8, 5196 bytes, 11 tape blocks
x nginx-1.4.3/html/50x.html, 537 bytes, 2 tape blocks
x nginx-1.4.3/html/index.html, 612 bytes, 2 tape blocks
.
.
.
x nginx-1.4.3/auto/cc/bcc, 1293 bytes, 3 tape blocks
x nginx-1.4.3/auto/cc/ccc, 1324 bytes, 3 tape blocks
x nginx-1.4.3/auto/cc/conf, 3989 bytes, 8 tape blocks
x nginx-1.4.3/auto/cc/gcc, 3551 bytes, 7 tape blocks
x nginx-1.4.3/auto/cc/icc, 2935 bytes, 6 tape blocks
x nginx-1.4.3/auto/cc/msvc, 2612 bytes, 6 tape blocks
x nginx-1.4.3/auto/cc/name, 2150 bytes, 5 tape blocks
x nginx-1.4.3/auto/cc/owc, 1876 bytes, 4 tape blocks
x nginx-1.4.3/auto/cc/sunc, 3314 bytes, 7 tape blocks

Once the extraction is done, move to the directory by utilizing the following command.

root@linuxhelp:~# cd nginx-1.4.3

Run the following command to initiate NGINX installation process.

root@linuxhelp:~/nginx-1.4.3# CC=" gcc"  ./configure --prefix=/opt/nginx --with-cpu-opt=" amd64"  --with-ipv6 --with-http_ssl_module
checking for OS
 + SunOS 5.11 i86pc
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.5.2 (GCC)
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for SunOS specific features
checking for sendfilev() ... found
checking for event ports ... found
checking for nobody group ... found
checking for poll() ... found
.
.
.
  + using system zlib library

  nginx path prefix: " /opt/nginx" 
  nginx binary file: " /opt/nginx/sbin/nginx" 
  nginx configuration prefix: " /opt/nginx/conf" 
  nginx configuration file: " /opt/nginx/conf/nginx.conf" 
  nginx pid file: " /opt/nginx/logs/nginx.pid" 
  nginx error log file: " /opt/nginx/logs/error.log" 
  nginx http access log file: " /opt/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" 

Now run the make command as follows.

root@linuxhelp:~/nginx-1.4.3# make
make -f objs/Makefile
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/nginx.o 
src/core/nginx.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/ngx_log.o 
src/core/ngx_log.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/ngx_palloc.o 
src/core/ngx_palloc.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/ngx_array.o 
src/core/ngx_array.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/ngx_list.o 
src/core/ngx_list.c
gcc -c -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/pcre -I objs 
-o objs/src/core/ngx_hash.o 
src/core/ngx_hash.c
.
.
.
objs/src/http/modules/ngx_http_proxy_module.o 
objs/src/http/modules/ngx_http_fastcgi_module.o 
objs/src/http/modules/ngx_http_uwsgi_module.o 
objs/src/http/modules/ngx_http_scgi_module.o 
objs/src/http/modules/ngx_http_memcached_module.o 
objs/src/http/modules/ngx_http_empty_gif_module.o 
objs/src/http/modules/ngx_http_browser_module.o 
objs/src/http/modules/ngx_http_upstream_ip_hash_module.o 
objs/src/http/modules/ngx_http_upstream_least_conn_module.o 
objs/src/http/modules/ngx_http_upstream_keepalive_module.o 
objs/ngx_modules.o 
-lsocket -lnsl -lsendfile -lpcre -lssl -lcrypto -lz
make -f objs/Makefile manpage
sed -e " s|%%PREFIX%%|/opt/nginx|"  
-e " s|%%PID_PATH%%|/opt/nginx/logs/nginx.pid|"  
-e " s|%%CONF_PATH%%|/opt/nginx/conf/nginx.conf|"  
-e " s|%%ERROR_LOG_PATH%%|/opt/nginx/logs/error.log|"  
<  man/nginx.8 >  objs/nginx.8

Now run the make install command.

root@linuxhelp:~/nginx-1.4.3# make install
make -f objs/Makefile install
test -d ' /opt/nginx'  || mkdir -p ' /opt/nginx' 
test -d ' /opt/nginx/sbin'          || mkdir -p ' /opt/nginx/sbin' 
test ! -f ' /opt/nginx/sbin/nginx'          || mv ' /opt/nginx/sbin/nginx'              ' /opt/nginx/sbin/nginx.old' 
cp objs/nginx ' /opt/nginx/sbin/nginx' 
test -d ' /opt/nginx/conf'          || mkdir -p ' /opt/nginx/conf' 
cp conf/koi-win ' /opt/nginx/conf' 
cp conf/koi-utf ' /opt/nginx/conf' 
cp conf/win-utf ' /opt/nginx/conf' 
test -f ' /opt/nginx/conf/mime.types'          || cp conf/mime.types ' /opt/nginx/conf' 
cp conf/mime.types ' /opt/nginx/conf/mime.types.default' 
test -f ' /opt/nginx/conf/fastcgi_params'          || cp conf/fastcgi_params ' /opt/nginx/conf' 
cp conf/fastcgi_params         ' /opt/nginx/conf/fastcgi_params.default' 
test -f ' /opt/nginx/conf/fastcgi.conf'          || cp conf/fastcgi.conf ' /opt/nginx/conf' 
cp conf/fastcgi.conf ' /opt/nginx/conf/fastcgi.conf.default' 
test -f ' /opt/nginx/conf/uwsgi_params'          || cp conf/uwsgi_params ' /opt/nginx/conf' 
cp conf/uwsgi_params         ' /opt/nginx/conf/uwsgi_params.default' 
test -f ' /opt/nginx/conf/scgi_params'          || cp conf/scgi_params ' /opt/nginx/conf' 
cp conf/scgi_params         ' /opt/nginx/conf/scgi_params.default' 
test -f ' /opt/nginx/conf/nginx.conf'          || cp conf/nginx.conf ' /opt/nginx/conf/nginx.conf' 
cp conf/nginx.conf ' /opt/nginx/conf/nginx.conf.default' 
test -d ' /opt/nginx/logs'          || mkdir -p ' /opt/nginx/logs' 
test -d ' /opt/nginx/logs'  ||         mkdir -p ' /opt/nginx/logs' 
test -d ' /opt/nginx/html'          || cp -R html ' /opt/nginx' 
test -d ' /opt/nginx/logs'  ||         mkdir -p ' /opt/nginx/logs' 

Once it is done, run the following command to create configuration file.

  root@linuxhelp:~/nginx-1.4.3# nano /lib/svc/method/svc-nginx
#!/bin/sh
unalias stop
NGINX_CMD=" /opt/nginx/sbin/nginx" 
NGINX_CONF=" /opt/nginx/conf/nginx.conf" 
RETVAL=0
start() {
   echo " Starting NGINX Web Server: c" 
   $NGINX_CMD -c $NGINX_CONF & 
   RETVAL=$?
   [ $RETVAL -eq 0 ] & &  echo " ok"  || echo " failed" 
   return $RETVAL
}
stop() {
   echo " Stopping NGINX Web Server: c" 
   $NGINX_CMD -s quit
   RETVAL=$?
   [ $RETVAL -eq 0 ] & &  echo " ok"  || echo " failed" 
   return $RETVAL
}
case " $1"  in
   start)
      start
        
   stop)
      stop
        
   restart)
      stop
      start
        
   *)
      echo " Usage: $0 {start|stop|restart}" 
      exit 1
esac
exit $RETVAL

Now create the manifest file: /var/svc/manifest/network/nginx.xml for NGINX

root@linuxhelp:~/nginx-1.4.3# nano /var/svc/manifest/network/nginx.xml

< !DOCTYPE service_bundle SYSTEM " /usr/share/lib/xml/dtd/service_bundle.dtd.1" > 
< service_bundle type=' manifest'  name=' nginx' > 
  < service name=' network/nginx'  type=' service'  version=' 1' > 
    < create_default_instance enabled=' false'  /> 
    < single_instance /> 
    < exec_method type=' method'  name=' start'  exec=' /lib/svc/method/svc-nginx start'  timeout_seconds=' 60' /> 
    < exec_method type=' method'  name=' stop'  exec=' /lib/svc/method/svc-nginx stop'  timeout_seconds=' 60'  /> 
    < exec_method type=' method'  name=' restart'  exec=' /lib/svc/method/svc-nginx restart'  timeout_seconds=' 60'  /> 
    < stability value=' Stable'  /> 
    < template> 
      < common_name> 
        < loctext xml:lang=' C' >  NGINX 1.4.3 < /loctext> 
      < /common_name> 
      < documentation> 
        < manpage title=' nginx'  section=' 8'  manpath=' /usr/share/man'  /> 
      < /documentation> 
    < /template> 
  < /service> 
< /service_bundle> 

After creating Manifest file, use the following command to set permission.

root@linuxhelp:~/nginx-1.4.3# chown root:bin /lib/svc/method/svc-nginx
root@linuxhelp:~/nginx-1.4.3# chmod 555 /lib/svc/method/svc-nginx
root@linuxhelp:~/nginx-1.4.3# chmod 444 /var/svc/manifest/network/nginx.xml
root@linuxhelp:~/nginx-1.4.3# chown root:sys /var/svc/manifest/network/nginx.xml

Import the manifest file into nginx by invoking the following command

root@linuxhelp:~/nginx-1.4.3# svccfg -v import /var/svc/manifest/network/nginx.xml
svccfg: Restarting svc:/system/manifest-import
 The manifest being imported is from a standard location and should be imported with the  command : svcadm restart svc:/system/manifest-import
svccfg: Successful import.

Finally the Nginx service can be enabled with the following command.

root@linuxhelp:~/nginx-1.4.3# svcadm enable nginx

Open your web-browser, and call your IP address to see the welcome page of Nginx.

NGINX

Tags:
ethan
Author: 

Comments ( 0 )

No comments available

Add a comment

Frequently asked questions ( 5 )

Q

Is it safe to use the development branch in production?

A

In general, all releases (development or otherwise) are quite stable. This site runs the latest development version at all times. Many NGINX users tend to represent an “early adopter” crowd,

Q

How can I deploy NGINX Plus for HTTP video?

A

Yes, NGINX Plus is a very popular solution for HTTP video distribution, and a great, high-performance, highly scalable, extremely cost-efficient alternative to Wowza or Adobe products.

Q

How do I obtain NGINX Plus from the repository?

A

Please follow the instructions at "https://cs.nginx.com/repo_setup"

Q

Does NGINX Plus support session persistence?

A

Yes, it does. We have support for cookie-insert, variable-based routing and learn session persistence. Please see: Application Load Balancing with NGINX Plus

Q

How are Security Announcements shared?

A

Registered NGINX Plus customers;
The nginx-announce@nginx.org public mailing list (see the archives);
nginx.org, published here: http://nginx.org/en/security_advisories.html

Related Tutorials in How to Install Nginx web server in Solaris

Related Tutorials in How to Install Nginx web server in Solaris

How to Configure Nginx as a Reverse Proxy in CentOS
How to Configure Nginx as a Reverse Proxy in CentOS
Nov 26, 2016
How to Configure Reverse Proxy with Apache in CentOS
How to Configure Reverse Proxy with Apache in CentOS
Jan 25, 2017
How to install Multiple Nginx instances in same Server on CentOS 6
How to install Multiple Nginx instances in same Server on CentOS 6
Oct 26, 2017
How To Create Python SimpleHTTPServer on ubuntu 18.04
How To Create Python SimpleHTTPServer on ubuntu 18.04
Jun 9, 2018
How to Configure Load Balancer in Apache
How to Configure Load Balancer in Apache
Nov 18, 2016
How to configure Nginx Load Balancer in CentOS
How to configure Nginx Load Balancer in CentOS
Nov 9, 2016
How to install Webmin in OpenSUSE
How to install Webmin in OpenSUSE
Nov 7, 2016
How to install Nagios with Nginx on CentOS
How to install Nagios with Nginx on CentOS
Aug 1, 2017

Related Forums in How to Install Nginx web server in Solaris

Related Forums in How to Install Nginx web server in Solaris

Web Server
jacob class=
How to remove httpd completely from server
Apr 7, 2017
Nginx
gokulravichandran2 class=
Failed to start A high performance web server and a reverse proxy server
Dec 23, 2018
Apache
elijah class=
What is the difference between httpd and apache
Feb 18, 2017
CentOS
AadrikaAnshu class=
What does fastcgi_params file contain and what is it used for in nginx on CentOS 7.6
Jun 14, 2019
Nginx
AadrikaAnshu class=
A common misconfiguration is that the 'session.save_path' directive is not pointing to a valid directory.
Jun 15, 2019
Nginx
levi class=
php files are downloading not executing in nginx
Apr 21, 2017
Nginx
lucky class=
[emerg] 32915#32915: bind() to 0.0.0.0:8989 failed (13: Permission denied)
Jun 13, 2019
Nginx
rokkotnik class=
CentOS Nginx load balancer two different apps
Mar 15, 2020

Related News in How to Install Nginx web server in Solaris

Related News in How to Install Nginx web server in Solaris

PHP7 bugs used by hackers to remotely hijack web servers
PHP7 bugs used by hackers to remotely hijack web servers
Nov 5, 2019
Despite ISP Opposition, All Major Browsers will Eventually Roll Out DNS-over-HTTPS
Despite ISP Opposition, All Major Browsers will Eventually Roll Out DNS-over-HTTPS
Nov 12, 2019
Back To Top!
Rank
User
Points

Top Contributers

userNamenaveelansari
135850

Top Contributers

userNameayanbhatti
92510

Top Contributers

userNamehamzaahmed
32150

Top Contributers

1
userNamelinuxhelp
31040

Top Contributers

userNamemuhammadali
24500
Can you help Ryan ?
how to use visual traceroute tool

Am using traceroute command to check for the route. i got this tool while surfing. So pls help me out installation and usage of Visual traceroute tool.

Networking
  • Routing
  • trunk
  • Netmask
  • Packet Capture
  • domain
  • HTTP Proxy
Server Setup
  • NFS
  • KVM
  • Memory
  • Sendmail
  • WebDAV
  • LXC
Shell Commands
  • Cloud commander
  • Command line archive tools
  • last command
  • Shell
  • terminal
  • Throttle
Desktop Application
  • Linux app
  • Pithos
  • Retrospect
  • Scribe
  • TortoiseHg
  • 4Images
Monitoring Tool
  • Monit
  • Apache Server Monitoring
  • EtherApe 
  • Arpwatch Tool
  • Auditd
  • Barman
Web Application
  • Nutch
  • Amazon VPC
  • FarmWarDeployer
  • Rukovoditel
  • Mirror site
  • Chef
Contact Us | Terms of Use| Privacy Policy| Disclaimer
© 2025 LinuxHelp.com All rights reserved. Linux™ is the registered trademark of Linus Torvalds. This site is not affiliated with linus torvalds in any way.