ubuntu 负载均衡 ubuntu软件推荐
如何在 Ubuntu 20.04 上安装 Nginx
Nginx是一款高性能 HTTP和反向代理服务器,用在互联网上处理大型网站,支持作为独立网站服务器、负载均衡、内容缓存和针对 HTTP和非 HTTP的反向代理服务器。与 Apache相比,Nginx能处理大量并发连接且每个连接占用较小内存。
为了在 Ubuntu 20.04上安装和管理 Nginx,首先需确保以 sudo用户身份登录,且不运行 Apache或其他处理进程在80端口和443端口。
安装 Nginx的步骤如下:
在默认 Ubuntu源仓库中可用,使用命令安装:`sudo apt update; sudo apt install nginx`
安装后,Nginx将自动启动。验证运行状态,命令为:`sudo systemctl status nginx`
防火墙配置:
使用 UFW启用 Nginx Full端口配置,命令:`sudo ufw enable nginx`
验证防火墙状态:`sudo ufw status`
进行测试:
在浏览器中输入 ,查看默认 Nginx加载页面
接下来学习 Nginx配置文件结构与最佳实践。
总结,通过以上步骤,已在 Ubuntu 20.04上成功安装并配置了 Nginx。
如有疑问,欢迎通过微信或 QQ联系我们,期待你的咨询。
Ubuntu安装Odoo
说个坑,需要先进root账户。否则会有创建不了相关文档及位置的提示报错。
wget
tar-zxf Python-3.9.0.tgz
cd Python-3.9.0
./configure--prefix=/usr/local/python3
./configure--enable-optimizations
Step 1: Update Server
Step 2: Create Odoo User in Ubuntu
Step 3: Install PostgreSQL Server
Step 4: Create Odoo user for postgreSQL
Step 5: Install Python Dependencies
Step 6: Install Python PIP Dependencies
Step 7: Install other required packages
Step 8: Install Wkhtmltopdf
Step 9: Create Log directory
Step 10:Install Odoo
Step 11: Setting permissions on home folder
Step 12: Create server config file
Step 13: Install other Dependencies
Step 14:创建一个 Systemd Unit文件
打开你的文本编辑器,并且在/etc/systemd/system/目录下创建一个名为odoo.service的文件,将下面的内容粘贴到文件中:
保存文件并且关闭编辑器。
设置该文件的权限
通知 Systemd有一个新的 unit文件:
Step 15: Now Start Odoo
通过执行下面命令启用并且启动 Odoo服务:
或者直接执行以下命令
你可以通过下面的命令检查服务状态:
想要查看 Odoo服务日志,使用下面的命令:
打开你的浏览器,输入:
假设所有安装完成,你将会看到下面这样的屏幕:
如果你无法访问这个页面,那很可能是你的防火墙阻止了端口8069。请在宝塔面板(或通过防火墙命令)放行端口8069,云服务器上防火墙策略也应放行。
将 Nginx配置成 SSL代理服务器
默认的 Odoo网站服务器通过 HTTP服务。想要使 Odoo部署更安全,我们将会配置 Nginx作为 SSL代理服务器,使网站服务器通过 HTTPS进行服务。
SSL代理服务器是一个用来处理 SSL加密解密的代理服务器。这意味着,Nginx将会处理并且解密进来的 TLS连接(HTTPS),并且传递未被加密的请求到内部服务(Odoo)。在 Nginx和 Odoo之间的流量将不会被加密。
使用一个反向代理服务器有很多好处,比如负载均衡,SSL,缓存,压缩,静态内容服务,等等。
确保你满足下面的前提条件,再继续下一步的安装配置:
一个指向你的服务器的公网 IP的域名,我们使用example.com。
安装 Nginx
域名的 SSL证书。你可以安装一个免费的 Encrypt SSL证书。
打开你的文本编辑器,创建或者编辑域名服务器配置块:
下面的配置将会建立 SSL,HTTP转向 HTTPS,WWW转向 non-www,缓存静态文件,并且开启 GZip压缩。
不要忘记使用你自己的 Odoo域名替换 example.com并且设置正确的 SSL证书地址。
一旦你完成了,重启 Nginx和Odoo服务:
此时,反向代理服务器配置好了,你可以通过 来访问 Odoo了。
改变监听端口
这一步是可选的,但是它是一个很好的实践操作。
默认情况下,Odoo服务监听所有网络接口的8069端口。想要禁止对 Odoo的直接访问,你可以封锁8069端口,并且强制 Odoo只监听本地监控。
我们将会配置 Odoo仅仅监听 127.0.0.1。打开配置文件,添加下面的内容到文件最后面:/etc/odoo13.conf
保存配置文件,并且重启 Odoo服务器,使修改生效:
如果日志出现以下错误
「connect() failed(111: Connection refused) while connecting to upstream, client: XX.XX.XX.XX, server:, request:"POST/longpolling/poll HTTP/1.1", upstream:" ", host:"XX.XX.XX.XX", referrer:" "」
解决:
Let's just say you have a longpolling parameter in your odoo-server.conf
and set
after starting your odoo, just runs$ sudo netstat-tulpn to ensure that your longpolling is running, and you'll get this info:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8072 0.0.0.0:* LISTEN 10121/python3
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 10119/python3
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1461/sshd
...
when you can't find your longpolling there(that's why Bad Gateway Occurs, nginx can not find the running longpolling port), maybe just need to install gevent first:
and restart your odoo.
check$ sudo netstat-tulpn again, and you'll see that your longpolling port already running..
启用多进程
默认情况下,Odoo工作在多线程模式。对于产品级别的部署,我们推荐修改成多进程服务器,提升稳定性,并且充分利用系统资源。
想要启用多进程,你需要编辑 Odoo配置文件,并且设置一个非 0的工作进程数字。工作进程数字,基于系统中的 CPU核心数字和可用的 RAM内存来计算。
通过 Odoo官方文档计算工作进程的数量以及需要的 RAM内存大小,你可以使用下面的公式:
工作进程数量计算:
工作进程最大数量理论值=(system_cpus* 2)+ 1
1个工作进程可以服务约等于 6个并行客户。
Cron进程也需要 CPU
RAM内存大小计算
我们考虑 20%的请求是重请求,并且 80%的请求是轻量级请求。重量级请求使用将近 1GB RAM,而轻量级请求使用将近 150MB RAM。
需要的 RAM= number_of_workers*((light_worker_ratio* light_worker_ram_estimation)+(heavy_worker_ratio* heavy_worker_ram_estimation))
如果你不知道你的系统有多少 CPU,你可以使用下面的grep命令:
比方说,你有一个系统,拥有 4核心 CPU,8GB RAM内存,和 30个并行 Odoo用户。
30 users/ 6= 5(5是所需要的理论工作进程数量)
(4* 2)+ 1= 9(9是理论的最大工作进程数量)
基于上面的计算,你可以使用 5个进程+1个进程(Cron进程)总共 6个进程。
基于工作进程,计算 RAM内存:
RAM= 6*((0.8 150)+(0.2 1024))~= 2 GB of RAM
计算结果显示,Odoo安装将会需要大概 2GB内存。
想要切换到多进程模式,打开配置文件,并且添加计算值:/etc/odoo-server.conf
重启 Odoo服务,使修改生效:
阿里的云服务器的ubuntu系统怎么一键安装环境
安装须知
1、此安装包可在阿里云所有linux系统上部署安装,此安装包包含的软件及版本为:
nginx:1.0.15、1.2.5、1.4.4
apache:2.2.22、2.4.2
MySQL:5.1.73、5.5.35、5.6.15
php:5.3.18、5.4.23、5.5.7
php扩展:memcache、Zend Engine/ OPcache
ftp:(yum/apt-get安装)
phpwind:8.7 GBK
phpmyadmin:4.1.8
2、请使用最新的一键安装包脚本安装,以前老版本都存在bug,会导致安装异常以及安装的环境混乱。
3、执行一键安装包(./install.sh),会自动清理之前一键安装包安装过的环境。
如果您已经安装过一键安装包,再次执行安装,如若有重要数据,请自行备份/alidata目录。
4、一键安装包会将软件安装在/alidata目录下。
如果您的系统不存在数据盘,则一键安装包会将软件安装到系统/alidata目录下。
如果您的系统存在数据盘,且还没有格式化挂载数据盘。则一键安装包会自动帮您格式化第一块数据盘,并挂载在/alidata目录下。
如果您的系统存在数据盘,且已格式化并挂载了第一块数据盘。一键安装包会将第一块数据盘再次挂载到/alidata目录下,并不影响您之前的挂载目录的使用。比如下图所示,安装前,已经挂载了mnt目录。安装后,一键安装包再次挂载/alidata目录。
如果您的系统存在数据盘,且已格式化数据盘,但没有挂载数据盘。一键安装包会将第一块数据盘挂载到/alidata目录下。
5、怎么样卸载一键安装包?
可以执行以下命令完成卸载:
chmod 777-R sh-1.3.0/
cd sh-1.3.0/
./uninstall.sh
好了,下面来进行我们详细的安装步骤,come on~~!
首先准备好连接linux服务器的工具,推荐用xshell和xftp。
xshell是一个强大的安全终端模拟软件,它支持SSH1, SSH2,以及Microsoft Windows平台的TELNET协议。
下载地址:
Xftp是一个基于 MS windows平台的功能强大的SFTP、FTP文件传输软件。
下载地址:
根据上面提供的下载地址,首先安装xshell(基本上是点击Next直至安装完成):
点击Next-->此时选择“free for Home/School”(免费版)。
再点击Next-->Next-->Next-->install即可安装(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成xshell的安装。
然后我们可以看到以下界面。
接下来安装xftp(用于上传文件到linux服务器的小工具),安装xftp也是非常的简单,基本上也点击Next直至安装完成。
点击Next-->此时选择“free for Home/School”,(免费版)。
录点击Next-->Next-->Next-->install(还可以选择xshell安装后的语言环境,熟悉英文的朋友,可以选择English选项)。
点击finish完成安装。
然后我们可以看到以下界。
然后我们打开xshell,设置云服务器登录信息。
设置服务器帐号密码。
设置字符集编码(如果不设置字符集编码,则中文字符将会在xshell中显示为乱码)。
设置好了就点击ok保存。
一切准备就绪,让我们连接看看云linux服务器的庐山真面目吧!
黑不隆冬的,啥都没有,这就是linux的shell啦。shell(壳)到底是什么东东呢?
* Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
linux作为服务器专用操作系统,主要就是默默的待在机房提供各项网络服务的,为了节省系统资源,像windows那样华丽丽的用户桌面就默认不加载了。当然现在越来越多的用户使用linux作为日常家庭办公用操作系统,所以就有了像gnome、kde这样超华丽的桌面。不过作为服务器使用还是推荐用命令行界面吧,毕竟省一点资源,网站打开可能会更快一点嘛!
打下面的命令去主目录(/home)看下
输入命令:cd
用xftp上传环境安装文件。
回到shell界面,用ll命令看下情况
输入命令:ll
是不是多了一个sh-1.3.0目录,1.3.0是我们的一键安装包的版本号。请下载最新的版本安装,版本更新介绍,我们可以在change.log中查看。也希望大家多多反馈对于一键安装包的意见。(另外,熟悉linux的朋友,直接可以用wget命令下载我们的安装包,也不用安装Xftp,这样更加便捷。)
接下来按照说明,分步骤敲入安装命令(以下为redhat系统下安装示例)。
输入命令:chmod–R 777 sh-1.3.0
cd sh-1.3.0
./install.sh
出现了一个选择提示,进入web服务器的选择界面。
这里您可以根据需要选择apache或者nginx服务器,这里是2个服务器的介绍:
apache:
nginx:
引用:
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx
0.8.46+ PHP 5.2.14(FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
这里我们选择nginx,输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择nginx)
然后我们再选择要安装的nginx的版本(如果web服务器选择的是apache,这里提示信息则是要安装apache的版本),总共有1.0.15/1.2.5/1.4.4三个版本可以提供我们选择,这里我们选择1.2.5版本,则输入2,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择1.0.15版本)
然后我们再选择要安装的php的版本,总共有5.3.18/5.4.23/5.5.7三个版本可以提供我们选择,这里我们选择5.5.7版本,则输入3,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.3.18版本)
然后我们再选择要安装的mysql的版本,总共有5.1.73/5.5.35/5.6.15三个版本可以提供我们选择,这里我们选择5.1.73版本,则输入1,回车(如果什么都不输入,直接回车,或者输入错误的字符,则默认选择5.1.73版本)
然后可以看到我们刚才选择的版本如下,我们输入y或者Y进行安装。
到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续半个小时的样子。
注意:
1、请在网络通畅的情况下进行安装,不要强行终止安装过程(强行关闭安装窗口或者ctrl+c强行终止安装进程),则会导致安装失败,以及出现不可预知的安装异常!
2、安装前,最好能跟系统盘打上快照,如果异常,方便回滚系统。
为了防止断掉和服务器的连接,可以新开一个shell窗口,将鼠标挪到窗口标签栏,右击,如下图所示:
可以看到,新开了一个窗口。
输入top命令
可以看到一直在跳动的系统资源统计。
好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务!
到这个界面说明安装已经结束了,我们可以输入以下命令再次验证是不是已经安装成功:
输入命令:netstat-tunpl
我们可以看到正在运行状态的服务及端口:9000端口是php进程服务,3306端口是mysql服务,80端口是nginx服务,21端口是ftp服务。
如果看到以上信息,则说明安装没有异常。这里有一点需要注意的是,如果您选择安装的是apache,则没有上面的9000端口。为什么选择安装的是apache,就没有9000端口的php进程服务呢?这是因为nginx+php集成方式与apache+php集成方式不同,感兴趣的朋友可以自己入研究一下,这里就不再介绍。
大家有疑问了。那我怎么登录ftp和mysql呢?
在命令行里输入: cat account.log
看到了没
ftp的用户名是:www
mysql的用户名是:root
密码就在屏幕上了!
另外我们也可以cat/alidata/website-info.log中查看到刚才安装软件的版本信息。
好了。所有配置都已经完成了。是不是很简单!
接下来我们可以访问一下一键安装包默认安装的phpwind论坛以及phpmyadmin。
直接在浏览器中输入您的域名或者ip,如果是第一次访问phpwind,则会自动跳转到安装页面。
如果访问的时候卡主,不出来页面,则检查一下防火墙,并自行设置或者关闭防火墙。
点击“接受”进行安装。
然后选择数据库类型为mysql,数据库用户名和数据库密码填写account.log中的用户名和密码。然后根据自己的要求,设置好数据库名、管理员账号和密码等。
填写好信息后,点击下一步完成安装。
接下来我们访问phpmyadmin,在浏览器中键入我们的域名或者ip+phpmyadmin路径,即可访问我们安装的phpmyadmin。
输入mysql用户名以及密码,即可登录。
最后我们就可以在这里面操作管理我们的mysql啦。