分析、ソーシャルメディア、広告のクッキーを受け入れるか、詳細を確認して、設定を調整してください。これらのクッキーは英国およびEEA以外の訪問者に対してデフォルトでオンになっています。プライバシーに関するお知らせ。
インストレーションプロセスを進めることができる前に、NGINXによって必要とされるだろう幾つかの依存をインストールするでしょう。セットアップで、opensslとpcreサポートを使ってNGINXをコンパイルします。つまり、最初にこれらの前提条件をコンパイルし、その後で、NGINXのコンパイル処理を継続します。
これらの必要条件は:
新しいsolarisマシーンを想定しているため、一部のSolarisビルドツールは /usr/ccs/bin にあります。パスに無い場合は、パスに追加する必要があります。以下のようにしてこれを行うことができます:
vi ~/.profile
ファイルの中に以下を追加します:
export PATH=$PATH:/opt/SUNWSpro/bin:/usr/ccs/bin:/usr/sfw/bin
ここで、修正されたPATH変数を見るようにシェルをリフレッシュします:
source ~/.profile
環境を準備するための最後のものは、以下のリンクから取得できるSun Studio 12 コンパイラのインストールです。
自由にダウンロードすることができますが、ダウンロードリンクにアクセスするためにsunに登録する必要があります。
SunStudio12ml-solaris-x86-200709-ii.tar.bz2 をダウンロードした後で、以下のようにして解凍します:
cd /path/to/SunStudio/file/; gtar -jxf SunStudio12ml-solaris-x86-200709-ii.tar.bz2 -C /opt/
前のコマンドはファイルを解凍しそれを /opt/ パスに配置します。そこで幾つかのフォルダを見つけるでしょう。最も重要なものは上のPATH変数に設定された /opt/SUNWspro です。
上で言ったように、SolarisのためにNGINXをビルドするために、まず2つの依存を満たす必要があります。すなわち、PCRE (Perl 正規表現ライブラリ) と OpenSSLです。(OpenSSLは厳密には必要ではありませんが、完全性のためにそれを含めたいです。)全てのビルドは完全な64bitでしょう。
注意
開始する前に、以下のような幾つかのシステムパッケージがシステムにインストールされている必要があります:
* SUNWbtool
* SUNWtoo
* SUNWlibmr
* SUNWlibm
PCREから始めましょう:
cd /usr/src/; wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz
gtar -zxf pcre-8.00.tar.gz
cd pcre-8.00
./configure --disable-cpp CFLAGS="-g -O3" CC="/opt/SUNWspro/bin/cc -m64" --prefix=/opt/local --enable-utf8 --enable-unicode-properties
make
make install
cd /usr/src/; wget -c http://www.openssl.org/source/openssl-0.9.8e.tar.gz
gtar -zxf openssl-0.9.8e.tar.gz
cd openssl-0.9.8e
続ける前に、以下のようにcc コンパイラのための64bitモードフラグを正すために設定スクリプトへ小さな修正を行うでしょう。
vi Configure
-xarch=amd64 を検索し、それを-m64に変更し、保存して終了します。その後、コンパイルプロセスを進め、続けることができます:
./Configure solaris64-x86_64-cc threads shared --prefix=/opt/local --openssldir=/opt/local/openssl
make
make install
最後の段階は、ソースのtar ballからのNGINXの構築およびインストールです。pcreおよびopensslと一緒に上でしたように同じステップに従うことができるでしょう。
cd /usr/src; wget -c http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
gtar -zxf nginx-0.7.64.tar.gz
cd nginx-0.7.64
NGINXのコンパイルプロセスを完全な64bitモードで完了するためには、最初に以下のように src/os/unix/ngx_sunpro_amd64.il ファイルを編集する必要があります:
vi src/os/unix/ngx_sunpro_amd64.il
ファイルの最後に:
pause
以下に変更します:
rep; nop
保存および終了し、これでプロセスを完了します:
CC="cc" ./configure --prefix=/opt/local/nginx --with-cpu-opt="amd64" --with-ipv6 --with-http_ssl_module --with-cc-opt="-I /opt/local/include"
--with-ld-opt="-L /opt/local/lib -R /lib -R /usr/lib -R /opt/local/lib"
make
make install
NGINXのインストールプロセスを終了した後で、以下のようにして全てが申し分ないことをテストすることができます:
cd /opt/local/nginx/sbin/
./nginx
これで、NGINX はあなたのマシーン上で実行するはずです。ブラウザで http://127.0.0.1/ を開くと、"Welcome to nginx!"のページを見るはずです。
この章では、NGINX WebサーバがSolaris 10 起動時に実行するように設定するつもりです。これをするためにSolaris 10 のSMF機能を使い、プロセスを単純化するためにこの目的のための必要なファイルを作成しました。
vi /lib/svc/method/svc-nginx
ファイルの中に以下のものを配置します:
#!/bin/sh
NGINX_CMD="/opt/local/nginx/sbin/nginx"
NGINX_CONF="/opt/local/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_PID=`ps -ef |grep $NGINX_CMD |grep -v grep |awk '{print $2}'`
kill $NGINX_PID
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
その後で、以下のように以下のパーミッションを修正します:
chown root:bin /lib/svc/method/svc-nginx && chmod 555 /lib/svc/method/svc-nginx
ここで、manifesetファイルを生成します:
vi /var/svc/manifest/network/nginx.xml
ファイルの中で、以下を配置します:
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--author: alex harvey based on the Sun ssh.xml manifest -->
<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 0.7.64 </loctext>
</common_name> <documentation>
<manpage title='nginx' section='8' manpath='/usr/share/man' />
</documentation> </template> </service> </service_bundle>
以前svc-nginxと一緒に行ったように、パーミッションを修正します:
chmod 444 /var/svc/manifest/network/nginx.xml
chown root:sys /var/svc/manifest/network/nginx.xml
そして、manifestファイルをSMFデータベースにインポートします:
svccfg -v import /var/svc/manifest/network/nginx.xml
最後に、Solaris起動時に自動的に開始するためにサービスを有効にします:
svcadm enable nginx