LoginSignup
1
2

More than 5 years have passed since last update.

CentOS7でNginXを起動する

Last updated at Posted at 2018-09-11

NginXを使ってみたいと思ったので環境を作って起動してみる。

環境

  • centos7(Vagrant)
  • shellはzsh(あまり関係ない)
  • hostnameはproxy(あまり関係ない)

実際にした作業

まずはこちらを参考にしてrepoファイルを作成

proxy:[~] 
% cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

そしてyum install

proxy:[~] 
% sudo yum install nginx
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: mirrors.cat.net
 * updates: mirrors.cat.net
nginx                                                                                                                                  | 2.9 kB  00:00:00     
nginx/x86_64/primary_db                                                                                                                |  35 kB  00:00:01     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ nginx.x86_64 1:1.14.0-1.el7_4.ngx を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==============================================================================================================================================================
 Package                          アーキテクチャー                  バージョン                                         リポジトリー                      容量
==============================================================================================================================================================
インストール中:
 nginx                            x86_64                            1:1.14.0-1.el7_4.ngx                               nginx                            750 k

トランザクションの要約
==============================================================================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 750 k
インストール容量: 2.6 M
Is this ok [y/d/N]: y
Downloading packages:
nginx-1.14.0-1.el7_4.ngx.x86_64.rpm                                                                                                    | 750 kB  00:00:12     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 1:nginx-1.14.0-1.el7_4.ngx.x86_64                                                                                             1/1 
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* http://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  検証中                  : 1:nginx-1.14.0-1.el7_4.ngx.x86_64                                                                                             1/1 

インストール:
  nginx.x86_64 1:1.14.0-1.el7_4.ngx                                                                                                                           

完了しました!

versionを確認

proxy:[~] 
% nginx -v
nginx version: nginx/1.14.0
proxy:[~] 
% sudo systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: http://nginx.org/en/docs/

起動してみる

proxy:[~] 
% sudo systemctl start nginx.service 
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
proxy:[~] 
% sudo systemctl status nginx       
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 火 2018-09-11 22:00:29 JST; 8s ago
     Docs: http://nginx.org/en/docs/
  Process: 3699 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)

 9月 11 22:00:27 proxy nginx[3699]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
 9月 11 22:00:27 proxy nginx[3699]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
 9月 11 22:00:28 proxy nginx[3699]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
 9月 11 22:00:28 proxy nginx[3699]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
 9月 11 22:00:29 proxy nginx[3699]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
 9月 11 22:00:29 proxy systemd[1]: nginx.service: control process exited, code=exited status=1
 9月 11 22:00:29 proxy nginx[3699]: nginx: [emerg] still could not bind()
 9月 11 22:00:29 proxy systemd[1]: Failed to start nginx - high performance web server.
 9月 11 22:00:29 proxy systemd[1]: Unit nginx.service entered failed state.
 9月 11 22:00:29 proxy systemd[1]: nginx.service failed.

起動しない...
そういやApache起動中だったので、そちらを止めて再度NginX起動!

proxy:[~] 
% sudo systemctl start nginx.service
proxy:[~] 
% sudo systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since 火 2018-09-11 22:02:44 JST; 3s ago
     Docs: http://nginx.org/en/docs/
  Process: 4050 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 4051 (nginx)
   CGroup: /system.slice/nginx.service
           ├─4051 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─4052 nginx: worker process

 9月 11 22:02:44 proxy systemd[1]: Starting nginx - high performance web server...
 9月 11 22:02:44 proxy systemd[1]: PID file /var/run/nginx.pid not readable (yet?) after start.
 9月 11 22:02:44 proxy systemd[1]: Started nginx - high performance web server.

NginXが起動したのでブラウザで確認する
image.png
ようこそNginXに!!
一応常事起動にしておく

proxy:[~] 
% sudo systemctl enable nginx.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

今日はここまで
今後勉強していくために準備をした感じでした

おまけ

初期設定を見てみる(コメントアウトは除外)

proxy:[~] 
% cat /etc/nginx/nginx.conf | grep -v # | uniq         

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;

    keepalive_timeout  65;

    include /etc/nginx/conf.d/*.conf;
}
proxy:[~] 
% cat /etc/nginx/conf.d/default.conf | grep -v # | uniq
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm; // ←さっき見たのはコレ
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

あまり詳しくないけどApacheに比べて設定が直感的にわかりやすそう

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2