群晖 Nginx
位置在: /usr/local/etc/nginx/sites-available (最新编辑的一个) 里面相应 server 的 include user.conf 位置。
Nginx 配置
Nginx配置示例
root的处理结果是:root路径 + location路径 alias的处理结果是:使用alias路径替换location路径
Location 匹配
location / 默认规则,未匹配到其它规则时生效。
= 精确匹配,搜索终止。
~ 区分大小写正则
~* 不区分大小写正则
^~ 普通匹配,搜索终止。
优先级
location ^~ /a1/b1 { # A }
location ^~ /a1 { # B }
location /a2/b2 { # C }
location /a2 { # D }
/a1/b1/c1 匹配 A /a2/b2/c2 匹配 D
rewrite
~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~ 分别为区分大小写不匹配 !~* 不区分大小写不匹配
server 模块下,会优先执行 rewrite 部分。
pathinfo
关闭默认站点
server {
listen 80 default;
# 返回错误
return 500;
# 导流到其他网站
rewrite ^(.*) http://jb51.net permanent;
# 禁止IP访问
server_name _;
return 500;
}
强制https
-
在监听80端口的server配置中跳转到https
server { listen 80; server_name domain.com; rewrite ^(.*)
$ https://$
host$1 permanent; } -
使用497状态码
server {
# ...
if ($server_port = 80) {
return 497;
}
error_page 497 https://$host$request_uri;
}
CentOS 安装 Nginx + PHP + MySQL + MariaDB
安装 Nginx
sudo yum install nginx
# 配置位置
/etc/nginx/nginx.conf
安装 PHP
-
解压
tar zxf php-x.x.x.tar.gz cd php-x.x.x
-
配置
# 简单配置
./configure --enable-fpm --with-mysql
# 常用配置
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
# Magento Open Source 配置
# 扩展所需的一些前置依赖
yum install openssl-devel # 安装之后 /usr/lib64/pkgconfig 目录就有 openssl.pc
yum install libxml2-devel sqlite-devel libcurl libcurlyum-devel libpng-devel libicu-devel gcc gcc-c++ oniguruma libsodium-devel libxslt-devel libzip-devel
dnf --enablerepo=powertools install oniguruma-devel
./configure --prefix=/usr/local/php --enable-bcmath --with-curl --enable-gd --enable-intl --enable-mbstring --with-mysqli --with-openssl --with-pdo-mysql --enable-soap --enable-sockets --with-sodium --with-xsl --with-zip --enable-fpm
- 编译安装
make
sudo make install
- 配置
cp php.ini-development /usr/local/php/php.ini
cp sapi/fpm/php-fpm /usr/local/bin
cd /usr/local/etc
# 或者,很可能是
cd /usr/local/php/etc
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
# 腾讯云未配置如下信息
# include=NONE/etc/php-fpm.d/*.conf
# 改为
# include=etc/php-fpm.d/*.conf
vi /usr/local/php/php.ini
cgi.fix_pathinfo=0
# vi /usr/local/etc/php-fpm.d/www.conf
# user = www-data
# group = www-data
- 启动
/usr/local/bin/php-fpm
重启 https://www.cnblogs.com/gazeon/p/5421906.html
Nginx支持PHP
location ~* .php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
安装 MySQL
Composer
https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos
MariaDB(未整理)
cd /etc/yum.repos.d
vi MariaDB.repo
# MariaDB 10.5 [Stable] CentOS repository list - created 2020-09-02 14:13 UTC
# https://mariadb.org/download-test/
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
dnf install MariaDB-server
systemctl start mariadb
其它: get http://mirrors.aliyun.com/repo/Centos-7.repo /etc/yum.repos.d/ yum install MariaDB-server MariaDB-client ##安装mariadb服务器端、客户端## vim /etc/my.cnf.d/server.cnf ##mariadb服务器端配置文件## [mysqld] ##以下项是优化项目可根据需要选择## innodb_file_per_table=ON ##使用独立表空间模式(建议使用)## skip_name_resolve=ON ##禁止域名反向解析(可选)## systemctl start mariadb.service ##启动mariadb服务 systemctl enable mariadb.service ##设置为开机启动## mysql_secure_installation ##安装完成后安全初始化,添加root密码,删除匿名登录账户,禁止远程使用root用户登录,删除测试数据库和使用##mysql –uroot –hlocalhost –p’PASSWORD ##登陆数据库##’
阿里云
初始化
阿里云安全组允许22、21、3306端口
启动网络(如果必要)
systemctl start network
防火墙设置
启用ssh
systemctl start sshd
挂载磁盘
-
查看有哪些磁盘:fdisk -l
-
挂载:mount /dev/xvdb1 /mnt
-
开机自动挂载:vi /etc/fstab
/dev/vdb1 /storage ext3 defaults 1 2
LNMP一键安装
- https://lnmp.org/install.html
Nginx 配置
cd /usr/local/nginx/conf/vhost/*.conf
MySQL 配置
cd /etc/my.cnf
datadir = /mnt/mysql
# 如果有必要,记得修改 mysql 文件夹权限 chown mysql:mysql -R ./*
PHP 配置
启用 PHP 错误信息只需要修改 php.ini,重启 lnmp php-fpm restart
cd /usr/local/php/etc/php.ini
添加 PHP 模块
# 查看已安装模块
/usr/local/php/bin/php -m
- https://www.vpser.net/manage/lnmp-php-install-ext.html
- http://blog.sina.com.cn/s/blog_87113ac20102w78y.html
- 在LNMP环境下安装fileinfo扩展
LNMP 1.4上如果不想用防跨目录
vi /usr/local/nginx/conf/fastcgi.conf
# 删除
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
# 需要重启nginx。
# 注意删除其他虚拟主机下面错误的 .user.ini
wordpress 主题需要在 php.ini 允许 scandir() 函数
安装pureftpd
~/lnmp1.4/pureftpd.sh
https://lnmp.org/faq/ftpserver.html
lnmp ftp add
lnmp pureftpd start
其他
421: https://www.kkpan.com/article/3160.html
[26-Oct-2018 02:19:43] NOTICE: [pool www] ‘user’ directive is ignored when FPM is not running as root [26-Oct-2018 02:19:43] NOTICE: [pool www] ‘group’ directive is ignored when FPM is not running as root
查找到 www.conf 把 user = _www 注视前面加 ; eg ; user = _www 把 group = _www 注视前面加 ; eg ; group = _www
我的文件目录在: /usr/local/etc/php/7.2/php-fpm.d/www.conf
1、查看php-fpm是否开启 ps -ef|grep php
2、查看php-fpm的位置 whereis php-fpm
3、开启php-fpm /usr/local/bin/php-fpm
4、再次输入命令 ps -ef|grep php
,查看是否已经开启
查看php-fpm进程数 ps aux | grep -c php-fpm
重启php-fpm /etc/init.d/php-fpm restart
php-fpm 关闭:
kill -INT cat /var/run/php-fpm/php-fpm.pid
php-fpm 重启:
kill -USR2 cat /var/run/php-fpm/php-fpm.pid