ubuntuhttp服务器的搭建
A. Ubuntu上配置http访问代理
在Ubuntu服务器环境中,有两台服务器,A(100.140.49.72)具备互联网访问权限,而服务器B(100.140.44.12)则需要通过服务器A来实现互联网访问。目标明确,就是配置服务器B利用A的代理服务。
首先,要在服务器A上安装并配置代理服务Tinyproxy:
- 步骤一:在服务器A上执行安装命令安装Tinyproxy。
- 步骤二:针对Tinyproxy进行详细配置,确保其能作为代理服务器。
- 步骤三:启动Tinyproxy服务,使其开始监听并转发请求。
接下来,我们需要在服务器B上进行相应的设置,以利用服务器A的代理功能。不同应用可能需要设置不同的环境变量,例如:
- 对于通过apt-get进行软件包管理的,可能需要配置APT代理,尽管此处未特别说明,但通常这部分配置不是必需的,主要依赖于服务器A的配置。
- 对于使用curl的命令,需要设置代理参数,格式与no_proxy类似,但具体格式需要与服务器A的配置相匹配。
配置完成后,服务器B就可以通过服务器A的代理执行apt update等操作了。为了确保配置的正确性,可以参考以下文档:
- Ubuntu 20.04的代理设置指南
- Linux系统中的Proxy设置教程
B. ubuntu服务器怎么搭建网站
如果想用Ubuntu作为网站的服务器,一些基本的服务是必备的。本文对环境的搭建做一个简单的整理。
Appach
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
安装
sudo apt-get install apache2
大概5M左右,安装完成后服务器会自动启动
在浏览器里输入http://localhost或者是http://127.0.0.1或者输入IP,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,会在/var下建立一个名为www的目录,这个就是Web目录了,所有要能过浏览器访问的Web文件都要放到这个目录里。
如果更改配置重新启动命令如下:
sudo /etc/init.d/apache2 restart
到这里,如果只是单纯的跑一些静态网页的话这儿就够了,只需要将设计的html文件放入/var/www目录即可
到这里我遇到一个问题没解决就是根目录下的二级目录无法访问,重新安装多次,都是同样的问题。
php
PHP支持同样是很多网站必备之一,安装命令如下:
sudo apt-get install libapache2-mod-php5 php5
需要下载6M左右安装包。安装扩展:
sudo apt-get install libapache2-mod-php5 php5
Mysql
sudo apt-get install mysql-server mysql-client
需要下载26M左右的安装包,等待安装完成,弹出设定密码界面:
输入数据库root密码,按tab键选择确定。接下来会要求重复密码,重复同样操作。
数据库安装完成后,为了方便管理和操作,继续安装phpmyadmin。
sudo apt-get install phpmyadmin
需要下载6M左右的安装包,安装完成后进入设置界面,
tab键选择是,进行安装,在安装过程中会要求选择Web server:apache2或lighttpd,使用空格键选定apache2,按tab键然后确定。接下来要求输入密码,输入在上一步中设置的密码,需要输入两次,完成安装。
然后将phpmyadmin与apache2建立连接,www目录在/var/www,phpmyadmin在/usr/share /phpmyadmin目录,所以就用命令:
sudo ln -s /usr/share/phpmyadmin /var/www
建立链接。
phpmyadmin测试:在浏览器地址栏中打开http://localhost/phpmyadmin就能够进入登录界面,输入前面配置的用户名和密码进行登录,如下图所示。
登录后界面如图所示。
ftp
要想对网站和数据进行管理,少不了的是ftp,通过ftp可以很方便的上传/下载文件,实现管理,因此需要安装ftp管理工具。
sudo apt-get install vsftpd
C. Linux上通过ProxyChains实现全局HTTP代理配置
在Linux系统中,ProxyChains是一个强大的工具,它允许用户通过一个或多个代理服务器转发TCP连接,尤其适合绕过网络限制、提高访问速度或保护隐私。尽管其主要功能是单个命令的代理转发,通过一些设置和技巧,我们可以在一定程度上实现“全局”HTTP代理配置,尽管这并非其直接功能。
确保系统中安装了ProxyChains。在基于Debian的系统(如Ubuntu)上,使用以下命令安装:
bash复制代码
在基于RPM的系统(如CentOS或Fedora)上,根据系统需求安装相应包。
编辑/etc/proxychains4.conf文件,配置你的HTTP代理服务器。在[ProxyList]部分添加代理服务器配置,示例如下:
bash复制代码
通过修改shell环境或使用别名(alias)间接实现“全局”代理。为常用的网络命令创建带proxychains4前缀的别名,确保自动通过ProxyChains与配置的代理服务器通信。
bash复制代码
将这些别名添加到.bashrc或.zshrc中,并重新加载配置文件或重启shell以使更改生效。
注意到这种方法虽然影响了通过别名调用的命令,但并未真正实现全局HTTP代理。对于图形界面应用程序或其他未通过别名调用的网络请求,它们仍直接使用系统网络设置,未通过ProxyChains配置的代理。
若追求更全面的全局代理,考虑使用系统级的网络配置工具,如Linux的iptables进行流量重定向,或使用支持全局代理的桌面环境或网络管理工具。
D. ubuntu利用nginx配置https服务器
Ubuntu环境下,配置Nginx为HTTPS服务器主要步骤如下:
首先,使用 nginx -V 检查 Nginx 是否已编译有 SSL 支持。如果缺少 --with-http_ssl_mole 参数,需重新编译 Nginx 添加此支持。
通过 apt-get install openssl 安装 SSL 工具。随后在 /etc/nginx/ 目录创建私钥文件 server.key 通过命令:openssl genrsa -des3 -out server.key 1024,并在提示下设置口令。
接着,生成证书签发请求文件 server.csr 与私钥关联:openssl req -new -key server.key -out server.csr。
使用私钥无口令版本 server_nopwd.key 替换原始私钥文件,以便标记证书。此步骤通过命令:openssl rsa -in server.key -out server_nopwd.key 完成。
最后,使用 openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt 命令,将证书与私钥关联,生成最终的证书文件 server.crt。
在 Nginx 配置文件 /etc/nginx/nginx.conf 中的 http 段添加 SSL 配置:server {#listen 80;listen 443;server_name YourServerName;root /var/mypagedir;index index.php index.html index.htm;ssl on;ssl_certificate /etc/nginx/server.crt;ssl_certificate_key /etc/nginx/server_nopwd.key;}
完成配置后,重启 Nginx 服务:service nginx restart。
最后,在 /var/mypagedir/ 目录下放置网页文件,并通过访问服务器验证 HTTPS 配置是否成功。
以上介绍了 Ubuntu 环境下使用 Nginx 配置 HTTPS 服务器的关键步骤,适合对 PHP 教程有兴趣的学习者参考。