ubuntuを18.04にアップデートした話

ubuntuアップデート

気がついたら18.04.1 LTSが出てたんですね。うちのは16.04.5 LTSだったので何も考えずにアップグレードしました。

nginx 起動しない

結局、下記の設定で起動するようになりました。こちらの方のブログを参考にしました。

Failed to start nginx.service: Unit nginx.service is masked.

systemctl unmask nginx


が、まだアクセスできない。nginxのプロセスがない。

# systemctl status nginx
● nginx.service - LSB: starts the nginx web server
Loaded: loaded (/etc/init.d/nginx; generated)
Active: active (exited) since Sun 2018-11-11 17:42:49 JST; 1min 56s ago
Docs: man:systemd-sysv-generator(8)
Process: 6748 ExecReload=/etc/init.d/nginx reload (code=exited, status=0/SUCCE
Process: 6481 ExecStart=/etc/init.d/nginx start (code=exited, status=0/SUCCESS

11月 11 17:42:49 nonews-new systemd[1]: Starting LSB: starts the nginx web serve
11月 11 17:42:49 nonews-new systemd[1]: Started LSB: starts the nginx web server
11月 11 17:44:42 nonews-new systemd[1]: Reloading LSB: starts the nginx web serv
11月 11 17:44:42 nonews-new systemd[1]: Reloaded LSB: starts the nginx web serve
# ps aux |grep nginx
root 6822 0.0 0.0 15452 1008 pts/0 S+ 17:45 0:00 grep --color=auto nginx

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

手で実行してみる。

# /usr/local/bin/nginx &
[1] 6872
# nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
^C
[1]+ 終了 1 /usr/local/bin/nginx
#

そういやapacheとかいうクソが勝手に起動するようになっていたのでした。php-fpm入れた時に勝手に入ったのか。停止&nginx起動。

# ss -ntlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:* users:(("apache2",pid=872,fd=4),("apache2",pid=871,fd=4),("apache2",pid=868,fd=4),("apache2",pid=867,fd=4),("apache2",pid=866,fd=4),("apache2",pid=834,fd=4))
# systemctl stop apache2
# systemctl start nginx

# ll
合計 12
drwxr-xr-x 2 root root 4096 11月 11 17:34 ./
drwxr-xr-x 12 root root 4096 11月 11 17:42 ../
lrwxrwxrwx 1 root root 33 2月 19 2017 nginx.service -> /lib/systemd/system/nginx.service
#
# /usr/local/bin/nginx &

2018/11/11 17:50:08 [crit] 7317#0: *16 connect() to unix:/var/run/php/php7.0-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.89.8, server: no-ne.ws, request: "GET / HTTP/1.0", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "no-ne.ws"
#

今度はphpのバージョンが上がっていたためソケット名も変わっていました。php-fpm停止してnginxのconfファイルの該当個所をphp7.2-fpm.sockに書き換え。

# systemctl start php7.2-fpm
# systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-11-11 17:53:56 JST; 1s ago
Docs: man:php-fpm7.2(8)
Main PID: 8158 (php-fpm7.2)
Status: "Ready to handle connections"
Tasks: 3 (limit: 4915)
CGroup: /system.slice/php7.2-fpm.service
├─8158 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─8159 php-fpm: pool www
└─8160 php-fpm: pool www

11月 11 17:53:56 nonews-new systemd[1]: Starting The PHP 7.2 FastCGI Process Manager...
11月 11 17:53:56 nonews-new systemd[1]: Started The PHP 7.2 FastCGI Process Manager.
# cat /var/log/php7.2-fpm.log
[11-Nov-2018 17:32:57] NOTICE: fpm is running, pid 8997
[11-Nov-2018 17:32:57] NOTICE: ready to handle connections
[11-Nov-2018 17:32:57] NOTICE: systemd monitor interval set to 10000ms
[11-Nov-2018 17:37:36] NOTICE: Terminating ...
[11-Nov-2018 17:37:36] NOTICE: exiting, bye-bye!
[11-Nov-2018 17:37:45] NOTICE: fpm is running, pid 772
[11-Nov-2018 17:37:45] NOTICE: ready to handle connections
[11-Nov-2018 17:37:45] NOTICE: systemd monitor interval set to 10000ms
[11-Nov-2018 17:51:24] NOTICE: Terminating ...
[11-Nov-2018 17:51:24] NOTICE: exiting, bye-bye!
[11-Nov-2018 17:53:56] NOTICE: fpm is running, pid 8158
[11-Nov-2018 17:53:56] NOTICE: ready to handle connections
[11-Nov-2018 17:53:56] NOTICE: systemd monitor interval set to 10000ms
# ls /var/run
acpid.socket atd.pid dbus initctl lvm mount nginx.pid rsyslogd.pid sshd thermald utmp
agetty.reload console-setup dmeventd-client initramfs lvmetad.pid mysqld php screen sshd.pid tmpfiles.d uuidd
amplify-agent crond.pid dmeventd-server lock motd netdata.pid pppconfig sendsigs.omit.d sudo udev xtables.lock
apache2 crond.reboot fsck log motd.dynamic network resolvconf shm systemd user
# ls /run/php/
php7.2-fpm.pid php7.2-fpm.sock
#

wordpressにDB接続エラーとか懐かしい感じのエラーを吐かれたのでphp7.2-mysqlインストール。無事にwordpressが起動しました。

# nginx -s reload
# apt install php7.2-mysql
# nginx -s reload

と思っていたら、記事を書いている最中に頻繁に「更新できませんでした。」と言うエラーが出る。ついでにプレビューもできない(いくら待っても表示されない)。エラーログを見ると

2018/12/24 01:29:42 [error] 18926#0: *731559 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mb_convert_encoding() in /var/www/no-ne.ws/default-20170131/wp-content/themes/simplicity2/lib/sns.php:5

となっていたので、とりあえずテーマをsimplicity2からwordpressのデフォルトテーマに変えたらエラーも起きず、更新できました。

と思ったらSimplicity2をアップデートしたらちゃんと更新できました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする