网站建设:部署与发布
网站建设:部署与发布
如何管理安全组
通过云主机进入安全组
直接进入安全组
创建安全组规则
删除安全组规则
安全组规则排序
Windows 下部署 Apache
下载 Apache
启动 Apache
配置 Apache Service
Linux 下部署 Apache
Windows 下部署 Nginx
安装 Nginx
启动 Nginx
Linux 下部署 Nginx
Windows 下部署 MySQL
Linux 下部署 MySQL
部署 IIS
Windows 下部署 Laravel 环境
安装 PHP
安装 PHP Manager
配置 PHP Manager
引入 Composer
配置 Composer 镜像
安装 Laravel
配置 IIS
Linux 下部署 Laravel 环境
安装依赖库
安装 PHP7
安装 Composer 并配置镜像加速
创建 Laravel 项目
添加 Apache 配置文件
Linux 下部署 Django 环境
安装 Python 3.6
配置清华源
配置虚拟环境
测试 Django 的运行
配置 UWSGI
配置 Nginx
配置 Supervisord
linux 下部署 Express 环境
安装 Node 环境
配置 CNPM 加速
安装 express
创建一个新的站点
测试启动
安装 PM2
使用 PM2 启动 Express
Linux 下部署 Ruby On Rails 环境[todo]
安装系统依赖
安装 RVM
安装 node
安装 Passenger
创建一个rails 项目
配置Nginx
在腾讯云后台的云服务器管理界面,找到你需要管理的云主机,点击云主机的 ID,进入到详情页。
在详情页中点击「安全组」,切换到安全组界面,可以查看到当前云主机配置的安全组以及对应的规则。
点击安全组的 ID ,可以进入到安全组的详情页面。
在云服务器界面的左侧菜单中点击「安全组」,可以进入到安全组的管理界面
在这个界面中,我们可以看到不同地域的不同安全组规则,我们可以点击安全组的ID,进入到安全组的详情页面。
在安全组的详情页面可以编辑具体的规则,点击「添加规则」,可以添加一条新的规则。
你可以点击前面的类型中的预置,来引入腾讯云准备好的默认规则,也可以保持默认的自定义,手动设置规则,
比如,我们需要允许针对所有用户的 TCP 8083端口,我们需要这样配置
设置完成后,点击完成,即可新增一条安全组规则
添加规则时,我们需要注意,安全组规则的优先级是「位置越上,优先级越高」
删除安全组跪着只需要点击安全组规则后的「删除」,即可删除对应的规则
在使用时,我们可能需要对安全组进行排序,我们可以在安全组详情页面点击「排序」,进入到排序的界面
在排序界面,拖动左侧的排序按钮,即可对安全组进行排序。
这样,我们就完成了安全组的排序工作。
下载其中的 httpd-2.4.33-win64-VC15.zip ,将文件保存到本地。
同时我们需要安装 VC15 的依赖库,来确保我们的 Apache 可以正常的运行。
httpd-2.4.33-win64-VC15.zip 下载完成后,提取文件中的所有文件。
复制提取出来的 Apache24 文件夹
我们将这个文件夹移动到 C 盘的根目录中。
接下来我们来启动 Apache ,从开始菜单中打开 PowerShell,进入到 C盘根目录中的 Apache24 目录,然后执行 .\bin\httpd.exe 。
这时我们会看到一个无法获取到服务器全名的报错。如果你的 Apache 没有自动退出,就说明你的 Apache 已经成功启动了。
我们在使用 Apache 时,不可能每次都手动部署,所以我们需要配置 Apache 服务。
我们可以执行 httpd.exe -k install 来安装对应的服务。 也可以执行 httpd.exe -k uninstall 来卸载对应的服务。
在 CentOS 下配置 Apache 非常简单,我们可以执行如下命令来安装 Apache
yum install httpd -y
这样我们就完成了 Apache 的安装。
然后,执行如下命令,来启动 Apache
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
这样我们就完成了 Apache 在 Linux 下的部署。
打开 IE 浏览器,访问 http://nginx.org/ ,点击页面右侧的 Download 链接,可以进入到 Nginx 的下载页面。
我们点击 nginx/Windows-1.14.0 ,下载对应的压缩包。
下载完成后,提取压缩包内的文件,然后复制解压出来的文件到 C 盘根目录中。
从任务栏中打开 PowerShell, 执行 cd c:\ ,进入到 C盘根目录。
从 C盘根目录再次进行到 Nginx 的目录中,执行 nginx.exe 来启动 Nginx。
启动后,在浏览器中访问 localhost 可以看到 Nginx 的启动页面。
这样我们就完成了 Nginx 的启动。
在 CentOS 下,我们先要执行安装 EPEL 的基础库,执行如下命令
yum install epel-release -y
EPEL 的基础库安装完成后,我们来安装 Nginx
yum install nginx -y
安装完成后,执行命令来启动 Nginx ,配置我们的 Nginx 开机自启动
systemctl enable nginx
systemctl start nginx
这样我们就完成了 Nginx 在 Linux 下的部署。
在下载页面选择右侧的 Looking for previous GA verison
然后在刷新出来的新的版本中,选择 MySQL 5.7 版本的安装器
在下载页面直接点击「No Thnaks, Just Start My Download」,开始下载。
然后在弹出的下载提示中,保存安装包到本地。
稍等片刻后,下载完成,双击运行下载好的安装包。
勾选同意协议,在下一个界面中,选择 「Server Only」 版本
然后点击 Next 进入下一步,在这个界面中展示了 MySQL 安装所需的依赖,这里显示我们需要安装 VC++ 2013,可以点击「 Execute 」来安装 VC++ 2013。
并在弹出的窗口中一路 Next 安装
安装完成后,点击 MySQL 安装依赖检查界面的 Next ,继续执行安装,并在下一页点击 Execute来安装
稍等片刻后,安装完成后,点击 next ,进入到配置界面。
在 「Group Replication」 界面保持默认,点击下一步
在 「Type and Networking」 界面选择 Server Computer
然后在 accounts and roles 中设置 root 用户的密码
Windows Service 和 Plugins and Extensions 都保持默认,直接点击 Next 安装。
最后,在 Apply Configuration 页面点击 Execute 执行配置
执行完成后,点击 Finish ,就完成了 MySQL 的安装。
首先,登陆到云服务器上,执行命令更新系统.
yum update
执行完成后,我们来安装 MariaDB
yum install mariadb mariadb-server
安装完成后,执行命令来启动 MariaDB
systemctl start mariadb.service
systemctl enable mariadb.service
启动 MySQL 成功后,我们来配置 MySQL 的安全安装
mysql_secure_installation
执行命令后,我们照着命令的说明,一步步执行下去。
执行完成后,我们就完成了 MySQL 数据库的配置。
点击任务栏中的服务器管理器,
选择其中的添加角色和功能
在弹出的安装界面选择基于角色或基于功能的安装
在服务器选择界面保持默认,点击下一步,
在服务器角色界面,勾选 Web 服务器 (IIS)
并在弹出的窗口中,选择对应的功能添加进来
确认选择后,点击下一步,在功能页面不做任何修改,一直到如下界面
勾选其中的 CGI、ISAPI 拓展和 ISAPI 筛选器。
然后点击下一步,进入安装界面,点击安装,等待他的安装。
稍等片刻,就安装完成了。
Laravel 目前最新版支持 PHP 7.2 ,可以使用 PHP 7.2 来安装
本课程基于之前的 IIS 课程,需要先行完成 IIS 的内容
将 zip 下载到本地。
下载完成后,将 ZIP 中的内容提取出来,
然后,将解压所得的 php-7.0.29 文件夹复制到 C盘根目录。
同时,在这个页面的左上角我们可以看到 VC ++ 14 的安装包,点击进入到下载页面,下载 VC++ 14 的安装包,并安装
接下来,我们来下载 IIS 的 PHP 拓展工具:
在这个界面中点击右上角的 download Archive,将归档文件保存到本地。
下载完成后,在归档文件上右击,选择全部提取。
进入其中的 releases/6 文件夹,将其中 713KB 的文件后添加一个 .msi 的后缀,然后双击运行
在弹出的界面中一路 Next 安装下去
安装完成后,我们打开开始菜单中的 IIS 管理器,在我们的服务器下,可以看到一个 PHP Manager,这就说明我们完成了 PHP Manager 的配置
接下来,我们来链接 PHP 和 IIS。
打开 PHPManager,选择 Register New PHP Version
选择 C 盘根目录中的 PHP文件夹中的 php-cgi.exe文件
点击确定后,我们可以看到,我们成功的配置了一个 PHP 版本
我们可以点击 Check PHPinfo(),来查看 php 的默认输出
选择默认站点,你可以看到这样的界面
这样就说明你已经完成了 PHP 的接入。
完成了 PHP 的接入后,我们接下来配置 Composer ,用于后续的 Laravel 的依赖包的安装。
由于后续的 Composer 需要 PHP 环境的支持,所以我们来配置环境变量。
在「这台电脑上」右击,选择属性,在弹出的界面中选择「高级系统设置」,选择其中的环境变量
在系统变量中找到 Path ,点击编辑,在变量的最后加入如下一段文字
;C:\php-7.0.29-nts-Win32-VC14-x64
这里的路径是你之前解压 PHP 的路径,配置完成后,点击确定,保存修改。
在安装界面中点击 Next,会进入到 PHP 的选择界面,由于我们之前配置了系统环境变量,所以这里直接识别出来了。
继续点击 Next,会自动进行安装
稍等片刻后,安装完成。
执行完成后,打开 PowerShell ,执行如下命令来加入 Composer 的国内镜像源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
接下来,在 Power Shell 内执行如下命令,来配置 Laravel 的安装器
composer global require 'laravel/installer'
等待其执行完成后,接下来我们来创建一个 Laravel 项目,首先,我们创建对应的文件夹
cd c:\inetpub\
mkdir wwwroot
cd wwwroot
mkdir laravel
cd Laravel
然后执行命令,初始化一个 Laravel项目
laravel new test
打开 IIS 管理器,找到网站中的 Default Web Site ,
接下来,就可以通过浏览器访问我们的服务器IP,看到 Laravel 的界面了。
本课程需要提前安装 Apache 环境
首先,我们需要安装 webtatic 仓库,从而安装较新的 php 7
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装完 webtatic 后,我们来安装 php 7 ,执行如下命令来安装。
yum update
yum install -y php70w php70w-mysql php70w-mcrypt php70w-dom php70w-mbstring
执行官网的安装命令来安装 composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer
chmod +x /user/bin/composer
安装完成后,我们为其设置 国内景象源,从而加速依赖的下载
composer config -g repo.packagist composer https://packagist.phpcomposer.com
进入 /var/www 目录,创建一个新的 Laravel 项目用于测试
cd /var/www
composer create-project laravel/laravel test
并给 apache 访问 Laravel 目录的权限
chown apache:apache -R test
接下来我们来创建 Apache 的配置文件
cd /etc/httpd/conf.d
vim test.conf
并在其中加入如下代码
<VirtualHost *:80>
DocumentRoot "/var/www/test/public"
ServerName test.cloud.tencent.com
</VirtualHost>
保存退出后,重启 Apache
systemctl restart httpd
这样,我们就完成了 Laravel 环境的配置。
需要先行安装 MySQl 、Nginx 等,可以参考前面的操作指南
本节课程我们以 Python 3.6 的运行环境来运行 Django ,你可以修改为自己的 Python 版本。
执行如下命令来安装 Python 3.6
yum install https://centos7.iuscommunity.org/ius-release.rpm -y # 安装对应的 Release
yum install python36u -y # 安装 python3.6
yum install python36u-pip python36u-devel -y # 安装python3.6的 pip 和后续的头文件,安装uwsgi会用到
默认的 PIP 源使用的是国外的 pypi ,速度较慢,我们将其改为清华的源
mkdir ~/.config/pip/
vim ~/.config/pip/pip.conf
在文件中粘贴如下代码
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
更新完成后,在 Home 目录下创建一个 django 的测试项目,用于我们后续的测试。
正式项目部署时也参考这里的步骤
cd /home/
mkdir django
cd django
python3.6 -m venv venv
创建完成后,进入虚拟环境中,安装 Django ,并创建一个项目
. venv/bin/activate
pip install django
django-admin startproject my
cd my
python manage.py startapp mine
真实上线时,需要使用 pip install -r requirements.txt 来安装依赖包
创建完成 App 后,我们需要修改 my/settings.py 使 Django 能处理来做所有域名中的请求
执行vim my/settings.py,找到其中的
ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['*']
这样,Django 就可以处理所有域名的请求了。
执行 python manage.py runserver 0.0.0.0:80 ,启动 django 的测试服务器,并访问云主机的 IP 地址,可以看到 Django 的启动页面了
启动页面可能有所不同。
完成了 django 的测试后,来配置 uwsgi,首先配置
yum install gcc -y # 安装 uwsgi 需要编译环境
python3.6 -m pip install uwsgi # 安装 uwsgi
安装完成后,执行 uwsgi 命令来启动 Django,测试是否能给正常运行
uwsgi –http :80 –chdir /home/django/my –home=/home/django/venv –module my.wsgi
执行后,访问云主机的 IP 地址,可以再次看到 Django 的启动页面,然后按下 Ctrl + C,退出进程。
接下来创建 uwsgi 的配置文件,我们将 uwsgi 的配置文件放在 /home/django_conf目录中去
mkdir -p /home/django_conf
vim /home/django_conf/uwsgi.ini
然后在vim 中粘贴如下代码
[uwsgi]
socket = /home/django_conf/my.sock
chdir = /home/django/my
wsgi-file = my/wsgi.py
plugins = python
virtualenv = /home/django/venv/
processes = 2
threads = 4
chmod-socket = 664
chown-socket = nginx:nginx
vacuum = true
这里的 nginx:nginx 是 nginx 自己的用户组和用户名
配置完成后,我们来修改 nginx 的配置文件
vim /etc/nginx/conf.d/my.conf
在文件中粘贴如下内容
server {
listen 80;
server_name test.cloud.tencent.com;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /home/django/my/media;
}
location /static {
alias /home/django/my/static;
}
location / {
uwsgi_pass unix:///home/django_conf/my.sock;
include /etc/nginx/uwsgi_params;
}
}
你需要将其中的 test.cloud.tencent.com 、/home/django/my、/home/django_conf/my.sock改成你的对应文件位置
保存退出后,重新启动 nginx
systemctl restart nginx.service
接下来,我们来配置 Supervisord ,首先为系统的 Python 安装上 pip
supervisord 需要 python2.X
yum install python-pip -y
安装完成后,我们使用 pip 来安装 supervisord,并输出配置文件
python -m pip install supervisor
echo_supervisord_conf > /etc/supervisord.conf
接下来使用 vim /etc/supervisord.conf 来编辑配置文件,在文件尾部添加如下代码
[program:my]
command=/usr/bin/uwsgi –ini /home/django_conf/uwsgi.ini
directory=/home/django/my
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
添加完成后,执行命令启动 Supervisord即可
supervisord -c /etc/supervisord.conf
首先,我们需要 NodeJS 环境,执行如下命令
curl –silent –location https://rpm.nodesource.com/setup_8.x | sudo bash –
yum -y install nodejs
安装完成后,我们为 NPM 添加国内的镜像,从而实现 node 依赖的加速下载
npm install -g cnpm –registry=https://registry.npm.taobao.org
执行完成后,我们就引入了 cnpm ,来加速我们的 npm 下载
接下来,我们使用 cnpm 来安装 Express 的生成器,执行如下命令
cnpm install express-generator -g
等待其自动安装完成后,我们就可以开始创建一个新的 express 站点了。
执行如下命令,来初始化一个新的应用,我们以 cloud 为名
express cloud
初始化完成后,进入到目录中,安装对应的依赖
cd cloud
cnpm install
这样,我们就完成了安装。
执行如下命令,来启动 Express ,进行测试
DEBUG=cloud:* npm start
此时,我们可以打开浏览器,访问 IP:3000 就可以访问默认的 Express 界面的内容。
按下 Ctrl + C 来退出进程。
执行如下命令来安装 pm2
cnpm install pm2 -g
安装完成后,执行命令,为我们的 pm2 添加开机自启动
pm2 startup systemd
pm2 save
执行如下命令,来使用 pm2 来启动我们的 express
pm2 start ./bin/www
使用 pm2 show [服务名] 可以查看对应服务器的运行情况,比如我们的 express 就是 www 服务。
接下来,我们来创建 Nginx 配置文件,用于对 Express 进行反向代理
cd /etc/nginx/conf.d/
vim cloud.conf
在配置文件中添加如下代码
upstream cloud-app{
server 127.0.0.1:3000;
keepalive 64;
}
server{
listen 80;
server_name 服务器的 IP
root /root/cloud # 可以根据实际情况进行修改
location / {
proxy_set_header X_Forwarded-For $proxy_add_x_fowarded_for;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy pass http://cloud-app/;
proxy_redirect off;
proxy_read_timeout 240s;
}
}
添加完成后执行 nginx -t 来检测配置文件是否正常。
如果没有报错,就执行 nginx -s reload 来让重新加载配置文件。
首先我们需要安装后续所需的依赖,为后续的安装做好准备
yum install -y curl gpg gcc gcc-c++ make epel-release yum-utils
安装完成依赖后,我们来安装 RVM, 用于后续的 Ruby 安装
gpg –keyserver hkp://keys.gnupg.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
source /etc/profile.d/rvm.sh
RVM 安装完成后,我们接下来来安装 Ruby,并将其设置为默认版本
rvm install ruby
rvm –default use ruby
Ruby 安装完成后,我们要对 Gem 进行配置,来加速我们的 Gem 下载,执行如下命令
echo "gem: –no-document" > ~/.gemrc
gem sources –add https://gems.ruby-china.org/ –remove https://rubygems.org/
gem install bundler rails –no-ri –no-rdoc
bundle config mirror.https://rubygems.org https://gems.ruby-china.org
安装完成 Ruby 环境后,我们需要配置 Node 环境,来编译我们的 JavaScipt 和 Css
yum install -y –enablerepo=epel nodejs npm
同样的,为了加速模块的下载,我们执行如下命令来配置 npm
安装完成前两者后,我们接下来来配置 Passenger,首先,安装 Passenger 的依赖
yum-config-manager –enable epel
yum install -y pygpgme curl
然后安装 Passenger 的 Repo
curl –fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
安装完成后,我们来安装 Passenger、Nginx 和相关依赖包
yum install -y nginx passenger || sudo yum-config-manager –enable cr && sudo yum install -y nginx passenger
yum install passenger-devel-5.2.3
安装完成后,我们需要去修改 Nginx 的配置文件 修改/etc/nginx/conf.d/passenger.conf,取消如下三行代码的注释
#passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
#passenger_ruby /usr/bin/ruby;
#passenger_instance_registry_dir /var/run/passenger-instreg;
并将其设置为对应的值
passenger_root 的值可以执行 passenger-config –root 来获取
passenger_ruby 的值可以执行 passenger-config about ruby-command 来获取
配置完成后,执行命令检测配置文件,并重启 Nginx
service nginx -t
service nginx restart
配置完成后,你可以执行如下命令来检测各项的安装
passenger-config validate-install
配置完成后,我们来创建一个 Rails 项目
cd /home
rails new demo
创建完成后,我们来为 Rails 项目配置默认的首页返回值和首页路由
rails g controller Welcome index
vim app/controllers/welcome_controller.rb
在打开的界面中添加如下代码
render inline:"Hello World!"
并修改 routes.rb 文件,添加如下代码
root 'welcome#index'
rails 创建完成后,接下来设置 Nginx ,在 /etc/nginx/conf.d/目录下创建一个新的配置文件,比如 demo.conf ,然后填写如下内容
将域名改为你自己的域名,path_to_rails 改为你自己的 Rails 项目路径
server {
listen 80;
server_name 域名;
root /path_to_rails/public;
passenger_enabled on;
passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby;
}
修改完成后保存,执行如下命令来检测 Nginx ,并重启 Nginx
nginx -t
service nginx restart
原文链接:https://blog.csdn.net/wqq1027/article/details/95395208