美文网首页
LNMP基础配置操作

LNMP基础配置操作

作者: dongshixiao | 来源:发表于2018-06-27 14:50 被阅读0次
1.格式化分区(如果有数据盘的话需要格式化,没有直接跳过)
[root@localhost ~]# df -h
首先去创建一个文件夹:mkdir /storage
[root@localhost ~]# fdisk -l
fdisk /dev/vdb //执行 fdisk /dev/vdb 对磁盘分区,需要依次输入 “n” ,"p","1",两次回车,"wq":
mkfs.ext4 /dev/vdb1
echo '/dev/vdb1 /storage ext4 defaults 0 0' >> /etc/fstab
[root@localhost ~]# mount /dev/vdb1 /storage
2.安装screen

安装screen的主要目的 是为了保护lnmp安装过程被中断不出现意外情况

yum install screen
screen -S lnmp

3.安装lnmp

安装lnmpa稳定版
lnmpa a一定不能忘了

wget -c http://soft.vpser.net/lnmp/lnmp1.3.tar.gz
tar zxf lnmp1.3.tar.gz && cd lnmp1.3 && ./install.sh lnmpa

安装过程 几十分钟不等...

4.安装FTP

进入lnmp解压后的目录,执行:./pureftpd.sh

lnmp ftp add (添加一个ftp账号)

5.计划任务(可选)

yum -y install vixie-cron 安装
service crond restart 试着重启
把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond start 即可。
在/var/spool/cron下创建root文件(或者www文件)
进入到/var/spool/cron 文件夹 chown -R www:www www
root文件 文件格式为unix格式
在root文件中写入(以laravel框架为例)

*  *  *  *  * php /storage/wwwroot/项目目录/artisan schedule:run 1>> /dev/null 2>&1

service crond restart 重启(显示两条ok)

centos7+需要用下命令操作
systemctl restart crond.service #启动服务
systemctl reload crond.service #重新载入配置
systemctl status crond.service #查看crontab服务状态
systemctl enable crond.service #开机自启动

如果你是以root身份登进来的,上面的命令默认为root用户的定时任务,和下面的语句等同:

crontab -u root -l  先查看当前的任务列表
crontab -u root -e  编辑

【注意】有的时候使用root身份运行命令会有一些权限问题,比如计划任务里需要创建目录,那么创建的这些目录所属用户是root,而一般apache、Nginx等运行的用户却是 www,那么用户 www 是没有权限向root创建的目录里写入文件的,那么上传图片时就无法保存图片。
【方法一】:我们可以为 www 用户创建对应cron定时任务:

crontab -u www -l  先查看当前的任务列表
crontab -u www -e  编辑

【方法二】:可以在【/etc/crontab】文件中指定计划任务运行的用户,添加命令:

*  *  *  *  * user-name command to be executed

这个文件里是可以指定运行用户的。
执行上面的命令后,就会在 /var/spool/cron 下生成一个文件 www,里面存放为www用户创建的定时命令。

6.创建虚拟主机

lnmp vhost add

输入要添加的虚拟主机域名,设置完整路径/storage/wwwroot/虚拟主机名,启用伪静态,验证MySQL的root密码分别进入

/usr/local/apache/conf/vhost/
/usr/local/nginx/conf/vhost/

修改对应的虚拟主机文件(默认不修改 laravel框架要指向public) 并修改网站别名
apache:

ServerName domain.com
ServerAlias domain.com www.domain.com

nginx

server_name domain.com www.domain.com

7.上传网站

使用ftp工具将文件下载到本地
上传到新的服务器/storage/wwwroot
登录shell cd到/storage/wwwroot
解压压缩包

unzip a.jinyiyun.net.zip

将权限改为www:www

chown -R www:www 目标文件夹
git同步

在Git服务器上创建一个普通git用户(无需密码),如server-115.159.10.10,然后把这个用户加入到目标项目里的成员里,只需要有pull权限即可,一般设置为Reporter。
在生产服务器上为www用户生成 SSH 公钥,路径一般在 /home/www/.ssh/,把生成的公钥 id_rsa.pub 复制粘贴到Git服务器上第一步里的普通用户的ssh公钥里

sudo -u www ssh-keygen
sudo -u www git clone git@git.a.net:li/test.git /storage/wwwroot/qy.a.net/
sudo -u www git pull

8.重启服务器

lnmp restart

9.更改MySQL数据存放目录

配置好LNmp环境以后,默认的网站目录和数据库存放目录都在系统盘,所以我们需要将它们转移到数据盘。

停掉mysql服务器:
/etc/init.d/mysql stop
下面新目录以/storage/mysql/ 为例,然后复制旧目录的数据库到新目录:
cp -R /usr/local/mysql/var/* /storage/mysql/
将新目录赋权为mysql用户组:
chown mysql:mysql -R /storage/mysql/
再修改配置文件:
vi /etc/my.cnf
查找mysql数据原有目录 /usr/local/mysql/var 修改为:
datadir = /storage/mysql
innodb_data_home_dir = /storage/mysql
innodb_log_group_home_dir = /storage/mysql
启动mysql:
/etc/init.d/mysql start

git线上如果修改文件导致同步错误:

Updating 8fa0048..6d86cd2
error: Your local changes to 'composer.json' would be overwritten by merge.  Aborting.
Please, commit your changes or stash them before you can merge.

可以这样解决

sudo -u www git fetch --all
sudo -u www git reset --hard origin/master

相关文章

网友评论

      本文标题:LNMP基础配置操作

      本文链接:https://www.haomeiwen.com/subject/ahibyftx.html