linux服务器上部署前后端应用程序
确认前端打包前已改后端地址为实际服务器的地址
npm run build生成dist文件
1、准备两个软件 putty.exe WinSCp.exe
2、通过putty.exe连接云服务器。
root登录,密码云服务器提供的密码
linux可以修改密码
输入passwd,再输入新的密码
3、linux下安装apache,命令行输入apt-get install apache2
安装好后,输入服务器地址,浏览器中可以看到apache的页面,说明安装成功
4、打开WinSCP软件
登录服务器
5、apache网站的默认网站的配置文件在root-->var-->www--->html文件夹里面
6、上传我们打包好的前端文件到上面的目录下(选中拖拉进上面的目录即可)
7、屏蔽通过浏览器浏览到主页文件夹下static目录
进入root-->etc--->apach2文件夹,打开apache2.conf文件
修改配置信息
删除上图中Indexes,即可屏蔽var/www/下static目录的访问
8、重启apache2
输入 sudo /ect/init.d/apache2 restart
9、如果服务器的80被禁用,可以在root-->etc--->apach2文件夹打开ports.conf修改 Linten 80到别的端口,用80端口,浏览器地址后面就不需要加:80了,别的端口要加:端口号
10、安装数据库
sudo apt-get install mysql-server mysql-client
输入mysql进入数据库
输入use mysql;切换数据库
通过命令修改mysql数据库的登录密码
update mysql.user set authentication string=password(‘123456‘) where user=‘root‘ and Host=‘localhost‘;
update user set plugin="mysql_native_password";
flush privileges;
quit;
上面就把root的密码修改为123456
可以输入mysql -uroot -p
再输入密码就可以登录mysql
11、导出本地数据库
存为mysql.sql
12、通过Navicat连接云服务器上的数据库
13、通常上面的连接会失败,因为此时mysql数据库的远程连接时关闭的,所以要先开启mysql的远程连接许可
14、登录mysql, use mysql
输入select User, Host from user;
上面可以看到所有的用户都只可以在localhost上登录,即只可以在本地登录
输入 GRANT ALL PRIVILEGES ON *.* TO "%" IDENTIFIED BY "123456";
再输入select User, Host from user;
可以看到root用户的Host变成了%,即可以远程登录
15、修改mysql配置文件
找到将 bind-address = 127.0.0.1注销
#bind-address = 127.0.0.1
16、重启mysql
启动mysql
sudo /ect/init.d/mysql start
sudo service mysql start
停止mysql
sudo /etc/init.d/mysql stop
sudo service mysql stop
重起mysql
sudo /etc/init.d/mysql restart
sudo service mysql restart
17、现在可以通过Navicat远程连接mysql服务器了
18、远程连接mysql服务器,并新建一个数据库
19、打开新建的数据库,右击选择运行SQL文件,找到之前导出的.sql文件
20、这样本地mysql数据库就已经上传到远程数据库服务器中,现在要关闭数据库服务器的远程访问功能,否则暴露在网络上比较危险
还是到前面的配置文件中,激活bind-address =127.0.0.1
重启mysql服务器,即关闭了mysql服务器远程访问,可以通过端口扫描网站输入服务器的地址及3306端口,发现mysql服务器的端口是关闭的
21、安装python3及依赖
apt install python3
apt install python3-pip
pip3 install pymysql
pip3 install flask
pip3 install flask_cors
22、通过WinSCP把后端的web服务器.py文件放到服务器上,比如root根目录中
23、命令行输入 python3 ./app.py
后端程序被运行起来
24、需要注意的是,后台应用程序时通过putty远程连接到服务器上操作的,一旦putty停止,那么所有运行在这个终端上的后台进程就会停止。
所以需要以下命令,让后端应用程序运行在服务器后台,而不会因为putty终端的退出结束
nohup python3 /root/app.py &
25、最后注册一个域名,配置好域名解析后,就可以愉快的玩耍了。