lnmp一键安装
https://lnmp.org/
https://oneinstack.com/
http://vestacp.com/
https://www.plesk.com/
https://amh.sh/
https://www.bt.cn/
https://linuxeye.com/481.html
使用的是GitHub上的oneinstack,官网,下面是脚本使用介绍
这里简单介绍教程,基于GitHub的README.md,环境是Centos
yum -y install wget screen python unzip git
// for CentOS,其他的是官网看教程
从GitHub中下载最新源码,下面三选一
,我用git,省去解压过程
1.wget下载:wget https://codeload.github.com/oneinstack/oneinstack/zip/master
//改为master.zip
1.1.解压zip 包unzip master.zip
//解压后改oneinstack,原源码脚本是基于oneinstack文件夹的
2.1.wget 下载与上面的解析地址不同wget https://github.com/oneinstack/oneinstack/archive/master.zip
//不用改后缀
2.1.解压zip 包unzip master.zip
//解压后改oneinstack,原源码脚本是基于oneinstack文件夹的
3.git clone 拉下来:git clone https://github.com/oneinstack/oneinstack.git
//直接git吧
cd oneinstack
//在options.conf改变安装目录和数据存储日记等screen -S oneinstack
//防止网络异常,重新连ssh可以screen -r oneinstack继续查看进程screen 状态为Attached 连不上,可以执行screen -D -r oneinstack./install.sh
// 不要直接运行sh install.sh 或者 bash install.sh./addons.sh
//添加附加组件Let’s Encrypt
./vhost.sh
//添加虚拟主机./backup_setup.sh
//Set backup options./backup.sh
//crontab -l &&crontab -e0 1 * * * cd ~/oneinstack;./backup.sh > /dev/null 2>&1 &
//Esc Shift+Q,wq(保存)service nginx restart
更新版本./upgrade.sh
./uninstall.sh
证书过期
更改/data/wwwroot下的网站文件夹名字
备份/usr/local/nginx/conf/vhost下的配置
ssh: ./vhost.sh 选择3. 直到正常
1.正确修改 cgi.fix_pathinfo 与 Nginx 的配置
2.Typecho 中 cgi.fix_pathinfo 与 Nginx 的配置
访问二级菜单出现Access denied.
,
不改变 php.ini
中 cgi.fix_pathinfo=0
改成了 cgi.fix_pathinfo=1
,可能存在安全问题
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_split_path_info ^(.+?.php)(/.*)$;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
添加 fastcgi_split_path_info ^(.+?.php)(/.*)$;
后即可由 Nginx 设置 PATH_INFO 值,
至此,终于解决了不改 PHP.ini 的方法。
service php-fpm restart
service nginx restart
设置网站目录权限
chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;
fail2ban阻止SSH暴力破解
Nginx Lua Redis防止CC攻击
禁止F5刷新
nginx.conf
limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s;
limit_conn_zone $binary_remote_addr zone=addr:10m;
yuming.conf
location / {
add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
add_header X-XSS-Protection "1; mode=block"; # XSS 保护
#http://www.abc3210.com/2013/web_04/82.shtml
limit_req zone=allips burst=5;
limit_conn addr 5; #连接数限制
#带宽限制,对单个连接限数,如果一个ip两个连接,就是500x2k
limit_rate 500k;
}
rc.local 本身默认没有执行权限
chmod +x /etc/rc.d/rc.local
写一个systemd service,具体怎么写查手册: https://www.freedesktop.org/software/systemd/man/systemd.service.html
iptables
对于Linux服务器防火墙规则iptables修改后无法保存的问题一直没有提到,直接按下面方法做即可:
修改完/etc/sysconfig/iptables文件后直接用service iptables restart命令重启即可保存防火墙规则。
/etc/sysconfig
service iptables save
service iptables restart
lnmp 使用
https://oneinstack.com/install/
搬网站
~/oneinstack/backup.sh 备份
压缩
tar zcvf web.tgz ./ //即可将当前文件夹打包为web.tgz
解压
tar zxvf test.tgz