LNMP环境搭建

安装pip及yum

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
yummain.py install yum
yum -y install wget

已安装忽略
如果提示错误: CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/
是缺少配置文件。在etc目录下面新建yum.conf文件,然后再次运行 yummain.py install yum,顺利完成安装

检查更新:

yum check-update
yum update
yum clean all

安装LNMP

LNMP一键包官网
无人值守命令生成工具
安装screen并运行于lnmp

yum install screen
screen -S lnmp
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

安装时间半小时左右
退出screen

screen -S lnmp -X quit

相关虚拟主机命令:

LNMP状态管理:
sudo lnmp start|stop|reload|restart|kill|status
Nginx状态管理:
sudo /etc/init.d/nginx start|stop|reload|restart
MySQL状态管理:
sudo /etc/init.d/mysql start|stop|restart|reload|force-reload|status
PHP-FPM状态管理:
sudo /etc/init.d/php-fpm start|stop|quit|restart|reload|logrotate

LNMP状态管理:lnmp {start|stop|reload|restart|kill|status}
LNMP各个程序的状态管理:lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
虚拟主机管理:lnmp vhost {add|list|del}
数据库管理:lnmp database {add|list|edit|del}
FTP用户管理:lnmp ftp {add|list|edit|del|show}
已存在虚拟主机添加SSL:lnmp ssl add
通过DNS API方式生成证书并创建虚拟主机:lnmp dns {cx|dp|ali|...}
只通过DNS API方式生成SSL证书:lnmp onlyssl {cx|dp|ali|...}

配置站点

提前将域名解析到ip

lnmp vhost add

Please enterdomain(example: www.lnmp.org):你的域名
Enter more domain name(example: lnmp.org *.lnmp.org): 直接回车,多站点配置输入其他站点
Default directory: /home/wwwroot/www.iloli.io: 网站放置目录
Allow Rewrite rule? (y/n) y
(Default rewrite: other): 伪静态,根据实际选择
Enable PHP Pathinfo? (y/n)y
Allow access log? (y/n)n
Create database and MySQL user with same name (y/n)y,也可以n,自己在phpmyadmin新增
Enter current root password of Database (Password will not shown): SQL密码
Enter database name: typecho(输入新增数据库名字)
Please enter password for mysql user wordpressdb: 新增的数据库密码
Add SSL Certificate (y/n) :是否自动生成证书
Enter 1 or 2: 2,let's证书
等待安装即可

FTP服务器

官网说明
Pureftpd

cd /root/lnmp1.6
./pureftpd.sh

卸载:./pureftpd.sh uninstall

创建ftp: lnmp ftp add
编辑ftp: lnmp ftp edit
删除ftp: lnmp ftp del

注意权限问题:
文件夹赋予组别权限
举例:需要ftp访问/home/wwwroot/www.imcxx.com,本身www权限,需要网站访问,则

gpasswd -a ftp www #将ftp加入www组
chmod 775 /home/wwwroot/www.imcxx.com #赋予文件夹组别权限

防跨站配置

1.删除.usr.ini防跨站文件

chattr -i /home/wwwroot/网站目录/.user.ini
rm -rf /home/wwwroot/网站目录/.user.ini

2.修改fastcgi的配置文件/usr/local/nginx/conf/fastcgi.conf

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";

ps.如果被注释去掉注释

3.修改php.ini的配置文件:/usr/local/php/etc/php.ini
在最后面加入

[HOST=www.xxx.com]
open_basedir=/home/wwwroot/www.xxx.com:/tmp/:/proc/

也可以SSH直接执行:

echo "[HOST=www.xxx.com]
open_basedir=/home/wwwroot/www.xxx.com:/tmp/:/proc/ ">> /usr/local/php/etc/php.ini

进行添加,两行全部复制粘贴会回车

PHP扩展

fileinfo扩展

cd /root/lnmp1.6/src
tar -jxvf php-7.3.11.tar.bz2
cd php-7.3.11/ext/fileinfo
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

如果提示错误,基是内存不够,内存需要1G以上,添加swap

修改配置:vi /usr/local/php/etc/php.ini在最后面加上:

extension=fileinfo.so

如果重启php提示错,换成:

;extension=fileinfo.so

ionCube扩展

cd /root/lnmp1.6
./addons.sh install ionCube

重启PHP:/etc/init.d/php-fpm restart
查看扩展:php -m

nginx IP+端口

nginx可以配置IP+端口访问网站,具体如下:

server
    {
        listen 61000;
        #listen [::]:80;
        server_name 127.0.0.1:61000;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/typecho;
最后修改:2020 年 06 月 14 日 21 : 04