由于最近的php期末作业要求中有部署项目到服务器的要求,在大致浏览了一遍老师的部署过程中,通过尝试与摸索,终于成功把项目部署了上去,然后来记录一下自己部署项目的的错误与心得,方便以后温故知新。
因为本人的阿里云服务器在下午的尝试过程中搞的乱七八糟的,改不回来了(重启冷却中),于是换了个腾讯云重新实验。唯一的区别就是阿里云可以直接登录root用户,但是腾讯云不行。当然只要你不嫌麻烦一直在某些前命令前+sudo也没有关系,这里为了偷懒,我们先改一下root的密码,然后就可以登录root,这样能少打几个字符,嘿嘿。
sudo passwd root
(current) UNIX password:
由于一开是root没有密码,所以这步是跳过的,以后再更改就要先输入原来的渺茫了
Enter new UNIX password:
Retype new UNIX password:
这里输入密码并进行确认,然后密码强度是由要求的,要注意一下
接着进行软件的安装,先执行下方命令对软件包进行更新,保证自己可以安装到当前系统下的最新软件。
apt update
然后直接安装php7.0+ git + php7.0-mysql + mysql-server + mysql-client + nginx,直接一步到位,之后进行修改。
apt install php7.0 git php7.0-mysql mysql-server mysql-client nginx
当然,在安装过程中mysql-server会让你对root的密码进行设置。
cd /opt
mkdir demo
cd demo
git clone + 仓库名
然后通过上述命令,在opt文件夹下随便新建一个文件夹,然后通过git把项目拷下来,当然如果你要通过WinSCP等辅助然间拖拽也是可以的,但是命令行可能是我们之后经常要打交道的东西,所以多用用命令行也是好的。
然后我们去处理数据库。
先通过cd命令找到的.sql文件的位置,在那个位置链接数据库 .sql文件是你的数据库脚本。
mysql -u root -p
跳出password,我们输入之前安装mysql-server时设置的密码
source + 脚本名 (运行脚本)
use + 创建的数据库名
接着我们要为数据库创建一个链接对象,保证我们自己的网站能够访问数据库
create user 名字(与自己设计的项目的数据库链接名一致)@127.0.0.1(通常都是这个本地服务器地址) identified by 密码 (自己设计的项目的数据库链接密码一直)
grant all on *.* to 名字@127.0.0.1 with grant option
然后我们通过下方命令找sites-enabled文件夹下的default,复制一份,名字是你做的系统的名字,并通过vim编辑器打开它。
cd /etc/nginx/sites-enabled
cp default 你的要部署的项目名
vim 你的要部署的项目名
接着修改其中的一些东西
listen 80 default_server;删掉default_server
listen [::]:80 default_server;把这行注释
root /var/www/html;
root后的路径改为子的项目的启动路径
index index.html index.htm index.nginx-debian.html;
这里后边加上以各index.php作为默认启动文件(既然是php项目,应该大家都需要加的把)
server_name _;
name后的横线改为云服务器的位置
这些都是没有注释的东西
找到php相关的
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#}
这三行去掉注释符
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
这行去掉注释符,并在/run前加上/var
最后重启nginx
service nginx restart
再打开网页输入服务器的地址,你就会发现项目部署成功了!!
撒花庆祝。