lala.im:openSUSE安装LNMP以及Redis

運維技術·lala.im · 2020-10-19 · 119 人浏览

原文地址:https://lala.im/7568.html,請支持原作者!該處僅作轉載。

本文记录一下在openSUSE上安装LNMP的整个过程,最后会搭建一个WordPress用于测试。
openSUSE Tumbleweed作为滚动发行的版本,Nginx/MariaDB/PHP这些软件基本上可以说你只要用包管理器装那就是最新版。
当然PHP这东西有点特殊,生产用的环境可能并不想总是升级它,这个也可以用包管理器把它hold住,后续再详细说这个。
要说这个发行版装LNMP和Debian上装LNMP比较一下的话,这个稍微麻烦一点,不能像Debian那样开箱即用,有些东西需要你自己手动配置,比如PHP-FPM/Nginx的权限等。
安装/启动nginx:

sudo zypper in -y nginx 
sudo systemctl start nginx
sudo systemctl enable nginx

安装/启动mariadb:

sudo zypper in -y mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

初次安装mariadb,你需要执行下面的命令配置一下:

sudo mysql_secure_installation

第一个提示回车设置你的数据库root密码,后面的这些如无特殊需求全部选择Y:

Enter current password for root (enter for none)
Switch to unix_socket authentication [Y/n]
Change the root password? [Y/n]
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]

登录mariadb:

mysql -u root -p

创建一个名为wordpress的数据库和用户:

CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost IDENTIFIED BY '设置你的用户密码';
FLUSH PRIVILEGES;
quit

安装php:

sudo zypper in php7 php7-fpm php7-mysql php7-gd php7-imagick \
php7-gettext php7-mbstring php7-intl php7-bcmath php7-openssl \
php7-exif php7-zip php7-curl php7-fileinfo php7-opcache php7-redis

openSUSE默认把php-fpm的配置文件都重命名为.default了,你需要自己复制一份:

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

然后编辑php-fpm.conf:

sudo nano /etc/php7/fpm/php-fpm.conf

在这里你需要启用日志记录:

pid = run/php-fpm.pid
error_log = log/php-fpm.log

接下来编辑www.conf:

sudo nano /etc/php7/fpm/php-fpm.d/www.conf

这里的用户和组需要改为nginx:

user = nginx 
group = nginx

在www.conf内还可以调整php-fpm的进程数什么的,这些根据自己的需要来就行,例如这些配置:

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 500

编辑php.ini:

sudo nano /etc/php7/cli/php.ini

安全起见,把这个注释去掉改为0:

cgi.fix_pathinfo=0

以上配置确认无误后,启动php-fpm:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

你可能需要检查一下php-fpm是否在运行,使用下面的命令查看,显示是active说明正常:

sudo systemctl status php-fpm

接下来配置nginx,编辑主配置文件:

sudo nano /etc/nginx/nginx.conf

用户和组改为nginx与php-fpm内的设置对应,进程数改为auto,建议打开gzip:

user  nginx nginx;
worker_processes auto;
gzip  on;

接下来尝试安装一个wordpress,进到/srv/www目录内下载解压wordpress的压缩包:

cd /srv/www
sudo wget https://wordpress.org/latest.zip
sudo unzip latest.zip
sudo rm -rf latest.zip

目录的用户和组设置为nginx,与之前在php-fpm/nginx内的配置对应:

sudo chown -R nginx:nginx wordpress/

接下来新建一个nginx站点配置文件:

sudo nano /etc/nginx/vhosts.d/wordpress.conf

写入如下配置:

server {
    listen       80;
    server_name  opensuse.imlala.best;
    root   /srv/www/wordpress;
    index  index.html index.php;
    client_max_body_size 100M;

    location / {
運維技術 LNMP lala.im
Theme Jasmine by Kent Liao