这个周末上线一个帮朋友做的网站,遇到挺多坑,记录一下

news/2024/4/28 2:22:15/文章来源:https://blog.csdn.net/weixin_34249367/article/details/88731803

上线前准备

购买服务器,目前选择的是阿里云服务器,选择的是入门型1核1G实例

  • 目前没什么活动,三年1400软妹币

配置SSH连接

  • 增加本机ssh连接配置,一般激活实例后,ssh的22端口是默认开放的,可以直接通过root用户进行登录配置部署环境
  • 登录到服务器后,将自己的公钥加入到 ~/.ssh/authorized_keys 配置文件中就可直接通过秘钥进行登录

服务器配置

  • 服务器系统版本:CentOS Linux release 7.4.1708 (Core)
  • 内存:1G
  • CPU:1核
  • 硬盘:40G

上线流程 - 环境搭建

安装Mysql5.5

因为服务器配置有点低,所以这边选择安装比较低的mysql版本。从CentOS 7.0发布以来,yum源中开始使用mariadb来代替MySQL的安装。即使你输入的是yum install mysql , 显示的也是mariadb的安装内容,因此,如果使用yum安装MySQL的话,就需要去下载官方指定的yum源。
网址: https://dev.mysql.com/downloads/repo/yum/。

先卸载mariadb,查看mariadb是否已经安装

[root@iZbp17dq2xryqoixibq5u1Z ~]#  yum list installed | grep mariadb
mariadb-libs.x86_64                     1:5.5.56-2.el7                 @anaconda

进行卸载

[root@iZbp17dq2xryqoixibq5u1Z ~]# yum -y remove mariadb*
Loaded plugins: fastestmirror
Resolving Dependencies
......     **省略过程**Removed:mariadb-libs.x86_64 1:5.5.56-2.el7Dependency Removed:postfix.x86_64 2:2.10.1-6.el7                                                                redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1Complete!

获取yum源和数据库安装(官方指南)

wget http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm     #MySQL5.5yum源

安装yum源

rpm -ivh mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm 

安装好yum源后,需要修改一下配置文件,文件路径在 /etc/yum.repos.d/mysql-community.repo,要将5.5的enabled改为1,而5.6的enabled改为0

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql# Note: MySQL 5.7 is currently in development. For use at your own risk.
# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/
[mysql57-community-dmr]
name=MySQL 5.7 Community Server Development Milestone Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

修改后保存退出,开始安装MySQL。在安装之前,可以查看下是否已有MySQL可安装文件

[root@iZbp17dq2xryqoixibq5u1Z ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                  49
mysql-tools-community/x86_64      MySQL Tools Community                       61
mysql55-community/x86_64          MySQL 5.5 Community Server                 449

安装mysql

# 安装client,devel,server
yum install mysql-community-client mysql-community-devel mysql-community-server

安装完毕后,可以查看下当前mysql版本

[root@iZbp17dq2xryqoixibq5u1Z ~]# rpm -qi mysql-community-server
Name        : mysql-community-server
Version     : 5.5.60
Release     : 2.el6
Architecture: x86_64
Install Date: 2018年05月05日 星期六 16:26:00
......

启动mysql

执行 service mysqld start 启动mysql

[root@iZbp17dq2xryqoixibq5u1Z ~]# service mysqld start
Starting mysqld (via systemctl):                           [  OK  ]

ok,mysql安装完毕

常用命令:

systemctl start mysqld #启动mysqld

systemctl stop mysqld #停止mysqld

systemctl restart mysqld #重启mysqld

systemctl enable mysqld #设置开机启动

systemctl status mysqld #查看 MySQL Server 状态

数据库安全设置
设置mysql root账户密码

# mysqladmin -u root password 'new password'

重新登录mysql报如下错误

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

执行如下命令进行解决

[root@iZbp17dq2xryqoixibq5u1Z ~]# systemctl stop mysqld        **关闭mysql服务**
[root@iZbp17dq2xryqoixibq5u1Z ~]# mysqld --user=root --skip-grant-tables &        **关闭skip-grant-tables**
[1] 32163
[root@iZbp17dq2xryqoixibq5u1Z ~]# 180505 16:57:08 [Note] mysqld (mysqld 5.5.60) starting as process 32163 ...
180505 16:57:08 [Note] Plugin 'FEDERATED' is disabled.
180505 16:57:08 InnoDB: The InnoDB memory heap is disabled
180505 16:57:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins
180505 16:57:08 InnoDB: Compressed tables use zlib 1.2.3
180505 16:57:08 InnoDB: Using Linux native AIO
180505 16:57:08 InnoDB: Initializing buffer pool, size = 128.0M
180505 16:57:08 InnoDB: Completed initialization of buffer pool
180505 16:57:08 InnoDB: highest supported file format is Barracuda.
180505 16:57:08  InnoDB: Waiting for the background threads to start
180505 16:57:09 InnoDB: 5.5.60 started; log sequence number 1595675
180505 16:57:09 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
180505 16:57:09 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
180505 16:57:09 [Note] Server socket created on IP: '0.0.0.0'.
180505 16:57:09 [Note] mysqld: ready for connections.
Version: '5.5.60'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL)
mysql -u root mysql        **空密码登入**
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.60 MySQL Community Server (GPL)Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> UPDATE user SET authentication_string=PASSWORD('new password') where USER='root';        **重新设置root密码**
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0mysql> FLUSH PRIVILEGES;        **刷新设置**
Query OK, 0 rows affected (0.00 sec)mysql> quit
Bye

安装PHP环境

开始安装PHP和PHP-FPM
首先安装EPEL。EPEL即Extra Packages for Enterprise Linux的简称,是为企业级Linux提供的一组高质量的额外软件包

yum -y install epel-release

安装PHP和PHP-FPM

yum -y install php php-fpm

查看PHP版本

[root@iZbp17dq2xryqoixibq5u1Z ~]# php -v
PHP 5.4.16 (cli) (built: Mar  7 2018 13:34:47)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

这时发现PHP版本是5.4的,原因是yum默认的epel-release源太低了,而我需要部署的网站是基于Laravel5.5开发的,环境要求:

  • PHP >= 7.0.0 需要重新安装PHP7
  • PHP OpenSSL 扩展
  • PHP PDO 扩展
  • PHP Mbstring 扩展
  • PHP Tokenizer 扩展
  • PHP XML 扩展

删除之前安装的PHP版本

yum remove php* php-common

我们需要更换下rpm源,搜索epel-release源并删除后进行更新

[root@iZbp17dq2xryqoixibq5u1Z ~]# rpm -qa | grep epel
epel-release-7-11.noarch
[root@iZbp17dq2xryqoixibq5u1Z ~]# rpm -e epel-release-7-11.noarch
warning: /etc/yum.repos.d/epel.repo saved as /etc/yum.repos.d/epel.repo.rpmsave
[root@iZbp17dq2xryqoixibq5u1Z ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
Retrieving https://mirror.webtatic.com/yum/el7/epel-release.rpm
warning: /var/tmp/rpm-tmp.PHnPwl: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:epel-release-7-5                 ################################# [100%]
[root@iZbp17dq2xryqoixibq5u1Z ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Retrieving https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
warning: /var/tmp/rpm-tmp.ohTozh: Header V4 RSA/SHA1 Signature, key ID 62e74ca5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...1:webtatic-release-7-3             ################################# [100%]

重新安装PHP和一些相关扩展

yum install php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-pdo.x86_64

安装PHP-FPM

yum install php72w-fpm

再次查看PHP版本

[root@iZbp17dq2xryqoixibq5u1Z ~]# php -v
PHP 7.2.4 (cli) (built: Mar 30 2018 08:49:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

启动PHP-FPM

systemctl start php-fpm
systemctl enable php-fpm.service        **开机自启动**

常用命令:

systemctl start php-fpm # 启动

systemctl stop php-fpm # 停止

systemctl restart php-fpm # 重启

systemctl enable php-fpm #开机自启动

安装Nginx

开始安装Nginx

yum install nginx

安装完毕后,启动Nginx

systemctl start nginx
systemctl enable nginx        **系统启动时自动启动Nginx**

常用命令:

fuser -k 80/tcp # 杀死80端口

nginx -s stop # 停止

nginx -s reopen # 重启

nginx -s reload # 重新载入配置文件

网站部署

生成秘钥

ssh-keygen -t rsa

提示一直回车就行,将生成的秘钥添加到项目托管的git库网站上,因为我的网站是放在Coding上,我直接添加在了项目部署秘钥

克隆项目

通过 git clone 命令将项目拉取到服务器上,我这边因为是Nginx,所以我拉取到 /var/www/ 目录下,

安装composer

[root@iZbp17dq2xryqoixibq5u1Z project_fjylhjjsyxgs]# curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...Composer (version 1.6.5) successfully installed to: /var/www/project_fjylhjjsyxgs/composer.phar
Use it: php composer.phar

移动composer.phar文件到/usr/local/bin目录下 ,使命令全局可用,并更换Packagist中国全量镜像

mv composer.phar /usr/local/bin/composer
composer config -g repo.packagist composer https://packagist.phpcomposer.com

通过composer安装项目依赖,但是出现了报错

[root@iZbp17dq2xryqoixibq5u1Z project_fjylhjjsyxgs]# composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.Problem 1- Installation request for phar-io/manifest 1.0.1 -> satisfiable by phar-io/manifest[1.0.1].- phar-io/manifest 1.0.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.Problem 2- Installation request for phpunit/php-code-coverage 5.3.0 -> satisfiable by phpunit/php-code-coverage[5.3.0].- phpunit/php-code-coverage 5.3.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.Problem 3- Installation request for phpunit/phpunit 6.5.7 -> satisfiable by phpunit/phpunit[6.5.7].- phpunit/phpunit 6.5.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.Problem 4- Installation request for theseer/tokenizer 1.1.0 -> satisfiable by theseer/tokenizer[1.1.0].- theseer/tokenizer 1.1.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.To enable extensions, verify that they are enabled in your .ini files:- /etc/php.ini- /etc/php.d/bz2.ini- /etc/php.d/calendar.ini- /etc/php.d/ctype.ini- /etc/php.d/curl.ini- /etc/php.d/exif.ini- /etc/php.d/fileinfo.ini- /etc/php.d/ftp.ini- /etc/php.d/gd.ini- /etc/php.d/gettext.ini- /etc/php.d/gmp.ini- /etc/php.d/iconv.ini- /etc/php.d/json.ini- /etc/php.d/ldap.ini- /etc/php.d/mbstring.ini- /etc/php.d/pdo.ini- /etc/php.d/pdo_sqlite.ini- /etc/php.d/phar.ini- /etc/php.d/shmop.ini- /etc/php.d/simplexml.ini- /etc/php.d/sockets.ini- /etc/php.d/sqlite3.ini- /etc/php.d/tokenizer.ini- /etc/php.d/xml.ini- /etc/php.d/zip.iniYou can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Google后发现,php-xml扩展有以上需要的相关软件包

yum install php72w-xml.x86_64

重新执行composer install命令,依赖下载成功

设置Nginx配置文件

我本机homestead中的Nginx是通过 /etc/nginx/sites-available 目录设置对应多域名的nginx配置文件,但是不知道服务器上安装的Nginx,却没有这个目录,所以查看了下Nginx.conf文件,发现http模块中有如下一条配置

    本机homestead中Nginx.conf### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;服务器上安装的Nginx.conf# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;

那好吧,我估计sites-available也是软连接的conf.d或者sites-enabled目录吧,所以我就直接将官方手册中Nginx配置复制了一份到/etc/nginx/conf.d/域名.conf,修改了一些配置

server {listen 80;server_name 域名或公网IP;root 项目地址指向到public目录;add_header X-Frame-Options "SAMEORIGIN";add_header X-XSS-Protection "1; mode=block";add_header X-Content-Type-Options "nosniff";index index.html index.htm index.php;charset utf-8;location / {try_files $uri $uri/ /index.php?$query_string;}location = /favicon.ico { access_log off; log_not_found off; }location = /robots.txt  { access_log off; log_not_found off; }error_page 404 /index.php;location ~ \.php$ {fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;        **这里有个坑下面讲**fastcgi_index index.php;include fastcgi_params;}location ~ /\.(?!well-known).* {deny all;}
}

配置完毕,保存退出,通过域名访问,发现报502错误,查看下Nginx的错误日志,发现报如下错误

2018/05/06 20:17:37 [crit] 5898#0: *66 connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream,

简单的讲下,php-fpm.sock文件就是让Nginx和PHP-FPM的进程间进行通信的文件,具体的含义,这边就不做详细介绍了。进这个目录查看下是否存在这个目录或文件,发现两个问题:

  • 目录错误,不是/var/run/php,而是/var/run/php-fpm
  • php7.2-fpm.sock这个文件未生成

未生成原因:php5.3之后的版本,php-fpm.conf里的listen的默认配置是127.0.0.1:9000,也就是tcp的方式,不会生成php-fpm.sock。

因为这次上线的网站没有什么并发量,unix socket方式要比tcp的方式快而且消耗资源少,所以我还是采用unix socket方式。定位到问题后,修改下 /etc/php-fpm.d/www.conf,也就是php-fpm的配置文件,关闭原来的listen方式,然后重启下php-fpm

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php7.2-fpm.sock

这个时候,由于职业习惯,想把Nginx也重启下,然后就又碰到了一个问题

[root@iZbp17dq2xryqoixibq5u1Z project_fjylhjjsyxgs]# nginx -s stop
[root@iZbp17dq2xryqoixibq5u1Z project_fjylhjjsyxgs]# nginx -s reload
nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)

这应该是因为把Nginx进程杀死后pid丢失了,下一次再开启nginx -s reload时无法启动。再次面向Google编程,发现还有挺多人碰到这个问题,所以解决方法马上就能搜索到了,执行如下命令

nginx -c /etc/nginx/nginx.conf
nginx -s reload

ok,接着Navicat远程连接到服务器数据库,source下数据库完毕。现看起来应该是可以跑起网站来了。再次访问域名,发现还是502,再次查看Nginx日志,报如下错误:

2018/05/06 20:37:00 [crit] 6078#0: *1 connect() to unix:/var/run/php-fpm/php7.2-fpm.sock failed (13: Permission denied) while connecting to upstream,

和上面报错看起来差不多,但是这次主要问题出在跑Nginx的用户是Nginx,而php-fpm.sock这个文件,监听的Nginx用户没有该权限,导致Nginx无法访问php-fpm.sock这个文件,自然监听就失去了效果,再次修改php-fpm配置文件和重启下php-fpm

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions.
; Default Values: user and group are set as the running user
;                 mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

重新访问下域名,发现访问任何路由都是白屏,这次状态码都是200了,但是没有任何输出,再次面向Google编程……发现问题:

由于nginx与php-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 .html 都能正常访问,而 .php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件

/etc/nginx/fastcgi_params 文件的最后增加两行:

fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
fastcgi_param PATH_INFO     $fastcgi_script_name;  

再再再次访问域名,终于正常显示了,但是页面上又出现了新的错误:

could not find driver(select * from users where deleted = 0)

任何有sql查询的页面都报如上错误,这个错误多半是因为pdo_mysql未打开或者未安装此模块造成,执行 php -m 发现还真没装,安装php72w-mysql又遇到一个坑

yum install php72w-mysql

报如下错误,说缺少libmysqlclient.so.18依赖

......
error: package: php72w-mysql 
requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)
Available: 1:mariadb-libs-5.5.52-1.el7.x86_64 (base)libmysqlclient.so.18(libmysqlclient_18)(64bit)
......

这就很奇怪了,查看用户库文件目录内libmysqlclient.so.18已经存在

[root@iZbp17dq2xryqoixibq5u1Z ~]# ll /usr/lib64/mysql/libmysqlclient.so.18
libmysqlclient.so.18      libmysqlclient.so.18.1.0

这个坑花了一个小时,Google多次尝试无果后,认真思考下可能的原因,想了想可能是mysql版本的问题,修改下 /etc/yum.repos.d/mysql-community.repo 配置文件,将5.6的enabled设为1,5.5设为0,更新Mysql版本后,再次执行 yum install php72w-mysql 安装pdo_mysql模块成功…...

至此,网站访问终于成功!

后续的部署优化,另外开篇记录。

原文博客地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_758237.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现网站页面的QQ临时会话,分享到空间微博等按钮.

原文:实现网站页面的QQ临时会话&#xff0c;分享到空间微博等按钮.一 qq临时会话要实现qq临时会话首先要到qq在线状态官网开通qq在线状态&#xff0c;其中临时对话也分为加密和未加密。1.1:加密模式<a target"_blank" href"http://sighttp.qq.com/authd?IDK…

国家哀悼日将网站全部变成灰色的代码

国家哀悼日将网站全部变成灰色的代码 html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale1); }PS:这个只是一个CSS里面的滤镜的使用,在FF,Opera下不支持, 假如要全部实现那种效果的话,要手动去改图片等东西. 不过有些站也是这样简单处理了一下而已,如: 百度…

Php将网站推送到手机桌面的方法,网站如何添加主动(实时)推送

前言&#xff1a;很多同学为了更好更快的让百度收录&#xff0c;抓取咱们网站的内容&#xff0c;所以&#xff0c;我们经常需要提交链接&#xff0c;这点很重要&#xff01;下面介绍几种提交的方式&#xff1a;1.主动推送&#xff1a;最为快速的提交方式&#xff0c;建议您将站…

原创内容与高质量链接, 为什么SEO关键词排名还不理想?

随着百度算法不断的更新&#xff0c;很多朋友发现SEO越来越摸不着边际&#xff0c;而且排名很难做起来&#xff0c;经常会遇到这样一种情况&#xff1a;原创内容高质量的外部链接&#xff0c;可关键词排名与收录仍旧没有什么起色&#xff0c;究竟是哪里出了问题呢&#xff1f; …

Vue+thinkJs博客网站(一)之vue多页面应用的webpack3配置

一.项目简介 本项目使用vue作为前端框架&#xff0c;thinkJs作为后端框架&#xff0c;构建个人博客网站&#xff0c;页面分为博客展示和后台管理&#xff0c;主要目的是学习使用thinkJs。现在只完成了主要的博客增删改功能&#xff0c;发现webpack的配置遇到了一些坑&#xff0…

搭建网站必不可少的知识9

接下来我们利用刚才得到的FTP信息进行网站文件的上传。小编以前使用FlashFXP&#xff0c;后来管理的服务器多了&#xff0c;涉及Linux系统和win系统以及虚拟主机&#xff0c;就改用xshell&#xff0c;他没法登录WIN系统远程&#xff0c;但是另外两种登录都包含。现在打开xshell…

名信片定做网站

最近发现一个免费制作名信片做推广的的网站&#xff0c;share一下给我自己的博客长长人气 下面是我的博客链接哦&#xff01;里面有具体的链接 http://www.gaoxiaxia.com/wordpress/?p108

建站步骤

建站步骤 https://cloud.tencent.com/developer/article/1524225 几点补充&#xff1a; 1&#xff09;添加角色后&#xff0c;系统会自动创建一个默认的站点&#xff08;即XXX_XXX_XXX_XXX\Administrater->Default Web Site&#xff0c;位于角色->Web服务器(IIS)->…

日系博客HTML网站设计,源码搭建,无插件无框架,含音乐播放器,时钟日历,轮播图,相册

引言 为课程作业&#xff0c;设计参考了无印良品日本官网 应老师要求不使用JQ&#xff0c;全部效果源码一行行敲出来&#xff0c;浏览器用的是360极速浏览器&#xff0c;未对其他浏览器内核进行适配&#xff0c;最终实现的效果如下&#xff0c;可进入展示页面查看 展示页面&am…

网站调用支付宝进行支付-Java后台调用支付宝支付

网站调用支付宝进行支付-Java后台调用支付宝支付 最近公司一个产品用到了打赏支付&#xff0c;其中一个是支付宝&#xff0c;记录一下java后台调用支付宝的过程付代码。本文讲的是使用沙箱环境(支付宝提供的一种开发专用模式&#xff0c;不要实际支付&#xff0c;可以走通整个流…

整理了一周的Python资料,包含各阶段所需网站、项目,收藏了慢慢来

为什么80%的码农都做不了架构师&#xff1f;>>> 这周应该有不少学校已经开学了&#xff0c;那么同学们都该动起来了&#xff0c;把家里面的那些懒习惯给扔掉了可以。 不知怎么的&#xff0c;最近不少关注我的读者都开始私信我怎么学好python&#xff1f;零基础转行…

HTML——body 计算机代码 【头部在“网站开发”中】

HTML属性 完整的属性列表 在引用属性值的时候&#xff0c;如果某些属性本身就有双引号——name John "ShotGun" Nelson 转载于:https://www.cnblogs.com/expedition/p/10889312.html

linux/centos svn搭建及网站同步更新

开发十年&#xff0c;就只剩下这套架构体系了&#xff01; >>> 一 搭建篇 yum install -y subversion svnserve --version 二 创建项目仓库 mkdir /var/svn cd /var/svn svnadmin create /var/svn/[项目名] 三 配置项目仓库 cd /var/svn/[项目名]/conf 1.修改综合配…

[Windows] 【黑科技】在线视频一键下载器:无尽一键视频下载v0.2主流视频网站想下就下...

撸了今年阿里、头条和美团的面试&#xff0c;我有一个重要发现.......>>> 前言 在线视频下载工具不算少&#xff0c;但真正好用的少之又少。很多软件步骤繁琐&#xff0c;下载速度慢&#xff0c;失效很快。我通过研究与写代码实现了真正一键就把视频下载下来。我的原…

[Android] 我的听书 谷歌版是一个帮助大家播放听书网站的播放器

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 注意事项&#xff1a; 如果锁屏不能自动切下一首&#xff0c;依次试一下&#xff1a; 1. 开启锁屏通知 2. 给app加锁 3. 前两者都不行时则去加后台白名单。 关于离线下载&#xff1a;不想给被抓取的网站增加负担…

国外停课后上百个教育网站官宣免费,亲测后发现这10个在国内秒打开!

随着海外疫情的爆发&#xff0c;世界各地的学校陆续开启了停课模式。为了方便学生们在家进行线上学习&#xff0c;各大教育网站也都纷纷推出了前所未有的阶段免费。这对一直以来给孩子苦苦寻求学习资源的老师和家长们来说&#xff0c;简直有了“一夜暴富”的赶脚。1. 教学资源网…

利用AirExplorerProPortable 实现网站 每日备份

Air Explorer Pro&#xff08;v2.8.1&#xff09;是一款非常出色的云存储资源管理工具&#xff0c;支持OneDrive、WebDAV和Google Drive等绝大多数云服务器&#xff0c;可以在将文件上传到云时对文件进行加密&#xff0c;同时还可在任何云或计算机之间同步文件夹。一个软件就可…

微软没强迫?Win 10 版本号追踪网站 Buildfeed 关闭

百度智能云 云生态狂欢季 热门云产品1折起>>> 近日&#xff0c;迫于各方压力&#xff0c;知名 Windows 10 版本号追踪网站 Buildfeed 宣布关闭。对于 Windows Insider 用户来说&#xff0c;即时获取最新 Windows 10 预览版本信息很重要&#xff0c;目前微软官方有提…

用apicloud 免费,简单封装一个wap手机网站成android app

APICloud是国内较早布局低代码开发的平台之一&#xff0c;其发布的低代码效率工具Plus Mode&#xff0c;为IT项目中每个角色提供专业工具&#xff0c;将需求分析、产品原型、UI设计、前端开发、后端开发紧密衔接&#xff0c;并基于行业大数据对前置环节进行复用&#xff0c;最终…

好域名怎么选?总结15名网站大佬给我的8条建议!(精华)

写网站上线的文章中提到需要有域名&#xff0c;本来是想在百度里搜一篇“选域名方面”的文章链接过去就好&#xff0c;但是看了好几篇&#xff0c;讲的都太笼统了&#xff0c;看完不知所云&#xff0c;一看就是“互相借鉴”的文章。所以我问了身边的几十位大佬&#xff0c;让他…